KR20240028481A - 실내 공간의 3차원 지도를 생성하기 위한 시스템 및 방법 - Google Patents

실내 공간의 3차원 지도를 생성하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20240028481A
KR20240028481A KR1020247003705A KR20247003705A KR20240028481A KR 20240028481 A KR20240028481 A KR 20240028481A KR 1020247003705 A KR1020247003705 A KR 1020247003705A KR 20247003705 A KR20247003705 A KR 20247003705A KR 20240028481 A KR20240028481 A KR 20240028481A
Authority
KR
South Korea
Prior art keywords
map
computing device
smart device
mobile computing
merged
Prior art date
Application number
KR1020247003705A
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 구글 엘엘씨
Publication of KR20240028481A publication Critical patent/KR20240028481A/ko

Links

Classifications

    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/18Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring depth
    • 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
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/74Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems
    • G01S13/76Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems wherein pulse-type signals are transmitted
    • G01S13/765Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems wherein pulse-type signals are transmitted with exchange of information between interrogator and responder
    • 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
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • 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
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/89Sonar systems specially adapted for specific applications for mapping or imaging
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0284Relative positioning
    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Processing Or Creating Images (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • User Interface Of Digital Computer (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

모바일 컴퓨팅 장치의 센서(들)를 사용하는 영역들의 스캔에 기초하여 상이한 영역들에 대한 3차원(3D) 지도들이 생성될 수 있다. 각 스캔 동안, 모바일 컴퓨팅 장치의 위치들은 초광대역 통신(UWB)을 사용하여 고정-포지셔닝된 스마트 장치에 상대적으로 측정될 수 있다. 해당 영역들에 대한 3D 지도들은 스캔 동안 획득된 위치 측정들에 기초하여 스마트 장치의 고정된 포지션(즉, 앵커 포지션)에 등록되어 결합된 3D 지도로 병합될 수 있다. 그 다음 결합된(즉, 병합된) 3D 지도는 모바일 컴퓨팅 장치 또는 다른 스마트 장치의 위치별 동작을 용이하게 하는 데 사용될 수 있다.

Description

실내 공간의 3차원 지도를 생성하기 위한 시스템 및 방법
본 출원은 2021년 8월 24일에 출원된 미국 출원 번호 17/445,751의 연속이며 이에 대한 우선권을 주장하며, 이 출원은 그 전체 내용이 참조로 여기에 포함된다.
본 개시는 증강 현실 시스템에 관한 것으로, 보다 구체적으로는 다중 스캔에 의해 생성된 3차원(3D) 지도를 결합(즉, 병합)하고, 병합된 3D 지도를 모바일 애플리케이션을 위해 사용하기 위한 시스템 및 방법에 관한 것이다.
모바일 장치의 깊이 센싱을 통해 사용자는 실내 공간(예: 방)을 스캔하여 3D 모델(예: 3D 지도)을 생성할 수 있다. 깊이 센싱은 모바일 컴퓨팅 장치가 서로 다른 영역을 센싱하기 위해 물리적으로 이동(즉, 스캔)될 때, 배향을 결정하기 위한 관성 측정 유닛(IMU) 및 모바일 컴퓨팅 장치와 방에 있는 객체들 사이의 깊이(즉, 범위)를 결정하기 위한 전용 깊이 센서 또는 카메라(들)를 포함하는 복수의 센서들을 활용할 수 있다. 3D 지도는 이미지와 결합되어 사용자가 몰입감 있고 현실적인 경험(예: 가상 투어)에서 상호작용할 수 있는 현실적인 가상 방을 생성할 수 있다. 3D 모델은 증강현실(AR) 환경에서 더욱 사실적인 가상 객체들을 생성하는 데에도 사용될 수 있다. 예를 들어, 3D 모델은 AR 소프트웨어가 건물이나 주택과 같은 실내 공간의 실제 객체들 뒤에 가상 물체들을 포지셔닝하는 데 도움이 될 수 있다. 실내 공간을 성공적으로 스캔하려면 여러 가지 요구 사항이 있으며 때로는 이러한 요구 사항이 사용자의 통제 범위를 벗어난다. 모든 요구 사항이 충족되지 않으면 스캔 품질이 좋지 않을 수 있으며 대응하는 3D 지도가 불완전하거나 왜곡될 수 있다. 이는 여러 영역이 있는 넓은 실내 공간을 스캔할 때 특히 그러하다.
적어도 하나의 측면에서, 본 개시는 일반적으로 3D 지도를 생성하는 방법을 설명한다. 방법은 모바일 컴퓨팅 장치의 깊이 센서를 사용하여 제1 영역의 제1 스캔을 수행하는 단계를 포함한다. 방법은 모바일 컴퓨팅 장치의 초광대역(UWB) 포지션 센서를 사용하여 제1 스캔 동안 앵커(anchor) 포지션에 상대적인(relative) 모바일 컴퓨팅 장치의 위치를 찾는 단계를 더 포함한다. 방법은 제1 영역의 제1 3D 지도를 생성하는 단계를 더 포함하며, 여기서 제1 3D 지도는 앵커 포지션에 상대적이다.
가능한 구현예에서, 방법은 모바일 컴퓨팅 장치의 깊이 센서를 사용하여 제2 영역의 제2 스캔을 수행하는 단계를 더 포함한다. 모바일 컴퓨팅 장치는 제2 영역의 제2 3D 지도가 생성될 수 있도록 모바일 컴퓨팅 장치의 UWB 포지션 센서를 사용하여 제2 스캔 동안 앵커 포지션에 상대적으로 위치가 결정된다. 제1 3D 지도와 마찬가지로 제2 3D 지도도 앵커 포지션에 상대적이다. 방법은 (공통) 앵커 포지션에 기초하여 제1 3D 지도와 제2 3D 지도를 병합하는 단계를 더 포함한다.
제1 영역은 건물이나 주택과 같은 실내 공간의 제1 방일 수 있고, 제2 영역은 실내 공간의 제2 방일 수 있다. 앵커 포지션은 실내 공간에서 스마트 장치(예: 스마트 홈 장치)가 고정적으로 포지셔닝되는 위치일 수 있다.
스마트 장치는 모바일 컴퓨팅 장치의 UWB 포지션 센서와의 UWB 통신을 위해 구성될 수 있다. UWB 통신을 통해, 스마트 장치에 대한 모바일 컴퓨팅 장치의 범위 및/또는 방향이 결정되어 스캔 동안 모바일 컴퓨팅 장치의 위치를 찾는(즉, 추적) 데 사용될 수 있다. 3D 지도들은 공간적으로 배치되어 두 영역을 모두 포괄하는 제3 3D 지도를 형성할 수 있다. 실내 공간에서 스마트 장치의 앵커 포지션을 기준으로 두 3D 지도들이 모두 생성(재구성)되기 때문에 공간 배치가 가능하다.
다른 측면에서, 본 개시는 위치에 기초하여 (이동가능한) 스마트 장치의 동작을 제어하는 방법을 일반적으로 설명한다. 방법은 병합된 3D 지도를 생성하는 단계를 포함한다. 3D 지도는 모바일 컴퓨팅 장치에 의해 스캔되는 제1 영역과 제2 영역을 포함한다. 제1 영역과 제2 영역은 UWB 통신에 의해 결정되는, 앵커 포지션에 대한 상대적인 포지션들에 따라 병합된 3D 지도 내에 위치한다. 방법은 병합된 3D 지도 내의 복수의 위치들을 태깅(tagging)하는 단계를 더 포함한다. 방법은 UWB 통신 및 병합된 3D 지도에 기초하여 스마트 장치를 추적하는 단계, 스마트 장치가 병합된 3D 지도 내의 태깅된 위치에 있는지 결정하는 단계, 및 태깅된 위치에 기초하여 스마트 장치의 동작을 조정하는 단계를 더 포함한다.
가능한 구현예에서, 건물 또는 주택의 경계들은 건물 또는 주택의 경계들 외부의 위치가 태깅될 수 있도록 병합된 3D 지도에 기초하여 식별될 수 있다. 스마트 장치가 건물이나 주택의 경계들 외부의 위치에 있는 경우 해당 장치의 (예: 네트워크에 대한) 액세스가 제한될 수 있다.
또 다른 가능한 구현예에서, 객체 주변 영역이 태깅될 수 있도록 병합된 3D 지도와 상관된 이미지들에 기초하여 객체가 식별될 수 있다. 스마트 장치가 객체 주변 영역에 진입하면 스마트 장치에 정보가 제시될 수 있다. 예를 들어, 운동용 자전거 주변 영역은 스마트 장치가 운동용 자전거에서의 운동과 관련된 정보를 제시하도록 트리거할 수 있다.
또 다른 가능한 구현예에서, 병합된 3D 지도에 기초하여 방이 식별될 수 있다. 또한, 병합된 3D 지도와 상관된 이미지들에서 식별된 객체에 기초하여 결정되는 방 유형에 따라 방에 태그가 지정될 수 있다. 스마트 장치가 방에 들어오면 미디어 재생이 제어될 수 있다(방 유형에 따라). 예를 들어, 이미지들에서 식별된 침대는 방을 침실로 태깅하는 데 사용될 수 있으며 스마트 장치(예: 스마트 스피커)에서의 재생은 침실에 적합하게 이루어질 수 있다.
다른 측면에서, 본 개시는 일반적으로 3D 지도를 생성하기 위한 시스템을 설명한다. 시스템은 앵커 포지션에 고정적으로 위치하고 UWB 통신을 위해 구성된 스마트 장치(예: 스마트 홈 장치)를 포함한다. 시스템은 모바일 컴퓨팅 장치(예: 휴대폰, 태블릿, AR 안경)를 더 포함한다. 모바일 컴퓨팅 장치는, 제1 스캔 동안 깊이 센서가 제1 영역에 걸쳐 스캔될 때 제1 영역에 대응하는 깊이 데이터의 제1 세트와 제2 스캔 동안 깊이 센서가 제2 영역에 걸쳐 스캔될 때 제2 영역에 대응하는 깊이 데이터의 제2 세트를 수집하도록 구성된 깊이 센서를 포함한다. 모바일 컴퓨팅 장치는 스마트 장치와 UWB 태그 사이의 UWB 통신에 기초하여 제1 스캔 및 제2 스캔 동안 모바일 컴퓨팅 장치와 앵커 포지션 사이의 범위들을 결정하도록 구성되는 UWB 태그를 더 포함한다. 모바일 컴퓨팅 장치는 3D 매핑 방법을 수행하기 위해 소프트웨어 명령들에 의해 구성될 수 있는 프로세서를 더 포함한다. 3D 매핑 방법은 제1 스캔 동안 모바일 컴퓨팅 장치와 앵커 포지션 사이의 범위들에 기초하여 깊이 데이터의 제1 세트를 앵커 포지션에 등록하고, 등록된 제1 세트에 기초하여 앵커 포지션에 상대적인 제1 3D 지도를 생성하는 단계를 포함한다. 3D 매핑 방법은 제2 스캔 동안 모바일 컴퓨팅 장치와 앵커 포지션 사이의 범위들에 기초하여 깊이 데이터의 제2 세트를 앵커 포지션에 등록하고, 등록된 제2 데이터에 기초하여 앵커 포지션에 상대적인 제2 3D 지도를 생성하는 단계를 더 포함한다. 3D 매핑 방법은 제1 3D 지도와 제2 3D 지도를 병합하는 단계를 더 포함한다.
전술한 예시적 요약뿐만 아니라 본 개시의 다른 예시적인 목적 및/또는 장점, 그리고 이것이 달성되는 방식은 다음의 상세한 설명 및 첨부 도면 내에서 추가로 설명된다.
도 1은 본 개시의 가능한 구현예에 따라 3D 지도에 대한 깊이 데이터를 획득하기 위해 실내 영역을 스캐닝하는 모바일 컴퓨팅 장치를 도시한다.
도 2는 실내 포지션 시스템에 구성된 모바일 컴퓨팅 장치와 스마트 장치를 포함하는 실내 공간의 평면도이다.
도 3은 본 개시의 가능한 구현예에 따른 초광대역 태그의 블록도이다.
도 4는 본 개시의 가능한 구현예에 따라 실내 공간에 대한 가능한 3D 스캐닝 시나리오를 도시한다.
도 5는 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도를 생성하기 위한 첫 번째 가능한 방법을 도시한 흐름도이다.
도 6은 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도를 생성하기 위한 두 번째 가능한 방법을 도시한 흐름도이다.
도 7은 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도를 생성하기 위한 세 번째 가능한 방법을 도시하는 흐름도이다.
도 8은 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도를 사용하는 가능한 애플리케이션을 도시한다.
도 9는 본 개시의 가능한 구현예에 따른 병합된 3D 지도를 생성하는 방법의 흐름도이다.
도 10은 여기에 설명된 기술과 함께 사용될 수 있는 예시적인 컴퓨팅 환경을 도시한다.
도면의 구성요소는 반드시 서로에 대해 비례하여 축적될 필요는 없다. 유사한 참조 번호는 여러 도면 전체에 걸쳐 대응하는 부분을 지정한다.
모바일 컴퓨팅 장치(예: 휴대폰, 태블릿, 증강 현실(AR) 안경)는 실내 공간(예: 주택, 건물, 사무실 등)의 한 영역(예: 방, 홀 등)을 스캔하여 실내 공간의 3D 지도(즉: 3D 모델, 3D 스캔)를 생성할 수 있는 깊이 센서(즉: 깊이 카메라)로 구성될 수 있다. 3D 지도는 실내 공간을 정확하게 묘사하는 공간적 관계로 배치되는 객체들(예: 벽, 가구, 아이템)의 상대적인 차원(relative dimension)들을 포함하는 실내 공간의 렌더링이다. 3D 지도는 공간의 인터렉티브 뷰(예: 가상 투어)를 획득하기 위해 직접 사용될 수 있다. 대안적으로, 3D 지도로부터 정보를 도출하여 일부 애플리케이션(예: 컴퓨터 지원 설계, 증강 현실 등)을 향상시키거나 가능하게 할 수 있다.
도 1에 도시된 바와 같이, 3D 지도에 대한 깊이 데이터를 획득하는 것은 깊이 센서의 제한된 시야(FOV)를 수용하기 위해 실내 영역(100)의 3D 스캔 동안 경로(120)를 따라, 모바일 컴퓨팅 장치(110)에 포함된 깊이 센서를 물리적으로 스캐닝함으로써 달성될 수 있다. 모바일 컴퓨팅 장치(110)는 스캔 동안 깊이 데이터가 모바일 컴퓨팅 장치의 상대적인 포지션들/배향에 등록될 수 있도록 3D 스캔 동안 그 포지션/배향을 (예를 들어, 관성 측정 유닛(IMU) 및/또는 카메라를 사용하여) 모니터링할 수 있다. 깊이 데이터는 3D 스캔 동안 모바일 컴퓨팅 장치의 포지션/배향에 상대적이고 물리적 좌표계에는 상대적이지 않기 때문에, 상이한 3D 스캔들로부터 깊이 데이터 세트의 상대적인 포지션들/배향들을 결정하는 것이 어려울 수 있다. 따라서, 실내 공간의 다수의 상이한 영역들에 대한 3D 지도를 생성하는 것이 어려울 수 있으며, 현재 대부분의 솔루션은 기술적인 문제를 안고 있다.
단일 스캔에서 다수의 상이한 영역들을 연속적으로 스캐닝함으로써 다수의 상이한 영역들의 3D 지도를 생성하는 것은 실제보다 더 많은 프로세싱 파워 및/또는 메모리가 필요할 수 있으며, 스캔이 중단되면 사용자는 시간이 오래 걸리는 검색 프로세스를 다시 시작해야 할 수도 있다. 다수의 영역들을 개별적으로(즉, 다수의 스캔 세션에서) 스캔한 다음 3D 지도들을 병합함으로써 다수의 영역들의 병합된 3D 지도를 만들려면 3D 지도들에 상대적인 포지션/배향을 결정하기 위해 중첩되는 영역들이 있어야 한다. 이러한 중첩 영역들을 획득하고 등록하는 것은 몇 가지 이유로 어려울 수 있다. 첫째, 중첩 영역에 인식가능한 랜드마크가 부족하여 항상 이용할 수 없는 경우 사용가능한 중첩 영역을 획득하는 것이 어려울 수 있다. 둘째, 사용자가 중첩 영역을 부적절하게 스캔하는 경우 사용가능한 중첩 영역을 획득하는 것이 어려울 수 있으며, 이로 인해 사용자에게 추가 요구 사항이 부과된다. 사용가능한 중첩 영역을 획득하더라도 필요한 처리로 인해 자동으로 등록하기 어려울 수 있으며, 중첩 영역에 기초하여 3D 지도를 수동으로 병합하는 데 시간이 많이 걸릴 수 있다.
개시된 시스템 및 방법은 각 3D 스캔이 실내 공간 내의 물리적 위치(즉, 앵커 포지션)에 등록되도록 (또는 등록될 수 있도록) 각 3D 스캔 동안 위치 데이터(즉, 포지션 데이터)를 획득한 후, 이들의 공통 앵커 포지션(즉, 앵커 포인트)에 기초하여 3D 지도들을 병합함으로써, 실내 공간의 다수의 영역들에 대한 3D 지도들을 생성하는 기술적 솔루션을 제공한다. 개시된 앵커 포지션은 일반적으로 이동되지 않거나 영구적으로 설치되는(예: 고정적으로 포지셔닝되는) 스마트 홈 장치(예: 스마트 스피커, 허브 장치, 스마트 온도 조절기 등)와 같은 스마트 장치의 위치일 수 있다. 위치 데이터는 스캔을 수행하는 모바일 컴퓨팅 장치와 스마트 장치 사이의 초광대역(UWB) 통신에 기초한 위치 추적에 의해 획득될 수 있다. 본 개시는 병합된 3D 지도로부터 정보를 수집하고, 병합된 3D 지도를 증강 현실을 포함한 모바일 애플리케이션에서 사용하기 위한 가능한 기술적 기회를 추가로 설명한다.
도 2는 실내 포지셔닝 시스템(IPS)으로 구성된 모바일 컴퓨팅 장치와 스마트 장치를 포함하는 실내 공간의 평면도이다. 모바일 컴퓨팅 장치와 스마트 장치만이 도시되어 있지만, IPS는 다양한 가능한 애플리케이션을 위해 다양한 가능한 장치의 다양한 구성을 사용하여 구현될 수 있다는 점에 유의해야 한다. 현재, 앵커 포지션에 고정적으로 위치된 스마트 장치(220)에 의한 3D 스캔 동안 모바일 컴퓨팅 장치(210)의 위치/추적에 대한 한 가지 가능한 구현예가 설명될 것이다.
도 2에 도시된 바와 같이, 모바일 컴퓨팅 장치(210)는 실내 공간(200)의 영역(즉, 침실) 내에서 이동될 수 있는 반면, 스마트 장치(220)는 고정된 위치에 유지된다. 그림과 같이 스마트 장치는 앵커 포지션에 위치해 있다. 앵커 포지션은 실내 공간(200) 내부일 수도 있고, 실내 공간(200) 외부일 수도 있다. 예를 들어, 인접한 실내 공간(미도시)에 위치한 스마트 장치를 앵커 포인트로 활용할 수 있다.
모바일 컴퓨팅 장치(210)와 스마트 장치(220)는 UWB 통신 링크(230)를 통해 통신하도록 구성된다. 이들 장치들 사이의 UWB 통신은 스마트 장치(220)에 상대적인 모바일 컴퓨팅 장치(210)의 포지션(즉, 위치)를 찾아 추적하는 데 사용될 수 있다. 예를 들어, 모바일 컴퓨팅 장치(210)는 영역의 3D 스캔 중에 스마트 장치에 상대적인 자신의 포지션을 찾아 추적할 수 있다.
모바일 컴퓨팅 장치(210)와 스마트 장치(220)는 각각 적어도 하나의 UWB 태그(즉, UWB 모듈)를 포함할 수 있다. UWB 태그는 UWB 통신을 통해 정보를 송수신하도록 구성될 수 있다. 정보는 모바일 컴퓨팅 장치(210) 및/또는 스마트 장치(220)의 상대적인 포지션을 결정하는 데 사용될 수 있으며, UWB 태그가 상대적인 포지션을 출력하도록 구성된 경우 UWB 포지션 센서라고 할 수 있다. 상대적인 포지션은 다양한 접근법을 사용하여 UWB 포지션 센서에 의해 결정될 수 있다.
UWB 포지션 센서(즉, UWB 센서)는 UWB 통신에 기초하여 모바일 컴퓨팅 장치(210)와 스마트 장치(220) 사이의 범위(r)를 결정할 수 있다. 예를 들어, 범위(r)는 모바일 컴퓨팅 장치(210)와 스마트 장치(220) 사이에 교환되는 정보(예를 들어, 핸드셰이크(handshake))에 소요되는 왕복 시간(RTT)에 기초할 수 있다. 일부 구현예에서, UWB 포지션 센서는 범위(r)뿐만 아니라 각도()도 결정할 수 있다. 각도는 앵커 포지션(도 2에 도시됨) 또는 앵커 포지션으로부터 오프셋된 알려진 포지션에 위치할 수 있는 고정 좌표계(225)(x, y, z)에 상대적일 수 있다. 각도()를 결정하는 것은 도달 시간차(TOA)에 기초할 수 있다. UWB 포지션 센서는 다수의 안테나들이 어레이 형태로 배열되어 다수의 안테나들 각각이 서로 다른 시간에 UWB 신호를 수신하도록 구성될 수 있다. 도달 시간차를 계산함으로써 각도()에 대응하는 UWB 신호의 입사각이 결정될 수 있다. 이러한 측정들은 다중 경로 신호들을 제거하는 단계를 더 포함할 수 있으며 다른 차원(즉, 평면)으로 확장될 수 있다. 예를 들어, UWB 통신은 두 장치(미도시) 사이의 상대적인 고도(elevation)를 결정하는 데 도움이 될 수 있다.
일부 구현예에서, IPS는 다수의 스마트 장치들(즉, 다수의 앵커 포지션들)을 포함한다. 따라서, UWB 통신은 모바일 컴퓨팅 장치(210)가 각 스마트 장치에 대한 적절한 상대적인 위치를 결정할 수 있도록 스마트 장치 식별 정보(즉, 장치 ID)를 포함할 수 있다. 다수의 스마트 장치들을 사용하면 모바일 컴퓨팅 장치와 각 스마트 장치 사이의 범위에 기초하여 삼각측량을 수행할 수도 있다. 또한, 다수의 스마트 장치들을 사용하면 스마트 장치의 움직임을 검출할 수 있다. 예를 들어, 각 스마트 장치는 다른 스마트 장치들의 위치들을 모니터링할 수 있으며, 스마트 장치의 움직임은 스마트 장치가 그 위치를 업데이트/수정하거나 그 장치 ID를 업데이트/수정하도록 트리거할 수 있다.
도 3은 본 발명의 가능한 구현예에 따른 UWB 태그의 블록도이다. 도시된 UWB 태그는 모바일 컴퓨팅 장치 및/또는 스마트 장치의 일부(즉, 비-단일 구현)로서 통합되거나 모바일 컴퓨팅 장치 및/또는 스마트 장치에 결합된 독립형 장치(즉, 단일 구현)로 통합될 수 있다. 단일 구현에서, UWB 태그(300)는 프로세서(310)를 포함할 수 있다. 프로세서(310)는 소프트웨어 명령들에 따라 동작들(예: 레인징(ranging), 포지셔닝)을 수행하도록 구성될 수 있다. 소프트웨어 명령들(즉, 소프트웨어, 코드 등)은 메모리(320)(예를 들어, 비일시적 컴퓨터 판독가능 메모리)에 저장되고 검색 가능할 수 있다. 프로세서(310)는 메모리(320)에 통신적으로 연결될 수 있고, 실행을 위해 소프트웨어를 검색하고 소프트웨어 실행으로 인한 정보를 읽거나 쓰도록 구성될 수 있다. 예를 들어, 왕복 시간, 범위, 각도, 포지션 등에 관한 데이터는 메모리(320)에 저장(및 검색)될 수 있다. UWB 태그(300)가 모바일 컴퓨팅 장치 또는 스마트 장치의 일부로서 통합되는 경우(즉, 비-단일 구현), 프로세서(310)는 모바일 컴퓨팅 장치 또는 스마트 장치의 중앙 프로세싱 유닛(CPU)으로 구현될 수 있다. 예를 들어, AR 안경에서 UWB 태그 기능을 제공하기 위한 구성요소는 AR 안경의 중앙 프로세싱 유닛을 활용할 수 있다.
UWB 태그(300)는 하드웨어(예를 들어, 논리 회로) 또는 소프트웨어(예를 들어, 사이클 카운터)로 구현된 클록(315)을 더 포함할 수 있다. 클록(315)은 디지털 프로세싱의 타이밍을 제어할 수 있고 이벤트들의 타이밍(예를 들어, 기간, 간격)을 계산하는 데 유용할 수 있는 타임스탬프 역할을 할 수 있다. 이벤트들은 UWB 태그(300)의 통신(예를 들어, 왕복 시간), 또는 UWB 통신의 핸드셰이크 프로토콜과 연관된 다른 이벤트들에 대응할 수 있다.
UWB 태그(300)는 특정 기능들을 위해 프로세서를 보조하거나 대체하도록 구성된 디지털 신호 프로세서(DSP(330))를 더 포함할 수 있다. 예를 들어, DSP는 UWB 태그들 사이의 통신(예를 들어, 패킷 형성, 신호 식별 등)에 관한 측면들을 수행하도록 구성될 수 있다. 프로세서(310) 및/또는 DSP(330)는 UWB 안테나(들)(345)를 통해 UWB 통신 링크(350)를 통해 신호를 통신하도록 UWB 송신기/수신기(즉, UWB 송수신기(340))를 구성할 수 있다. 신호는 핸드셰이크 동작(즉, 핸드셰이크 프로토콜)을 포함할 수 있는 UWB 프로토콜에 대응할 수 있다. UWB 통신 링크(350)는 다수의 UWB 태그들을 포함하는 UWB 네트워크(355)에 대한 통신 채널의 역할을 할 수 있다. 일부 구현예에서는, 프로세싱이 다수의 UWB 태그들에 의해 공유될 수 있다. 이러한 구현예에서, UWB 통신 링크(350)는 UWB 태그들 사이에서 부분적으로 프로세싱된 정보를 중계하는 역할을 할 수 있다.
UWB 태그(300)는 데이터 안테나(365)를 통해 데이터 통신 링크(370)를 통해 신호들을 통신하도록 프로세서(310) 및/또는 DSP(330)에 의해 구성될 수 있는 데이터 송수신기(360)(예를 들어, 블루투스 송수신기, WiFi 송수신기, 5G 송수신기 등)를 더 포함할 수 있다. 데이터 통신 링크(370)는 UWB 네트워크 이외의 데이터 네트워크에 대한 통신 채널 역할을 할 수 있다. 예를 들어, 데이터 통신 링크(370)는 UWB 네트워크(355) 내의 하나 이상의 UWB 태그들이 블루투스 통신을 통해 모바일 컴퓨팅 장치와 통신할 수 있도록 구성되는 블루투스 통신 링크일 수 있다. 즉, UWB 태그들 중 하나 이상은 UWB 네트워크(355)의 일부(즉, 통신)일 뿐만 아니라 데이터 네트워크(375)(예: WiFi 네트워크, CDMA 네트워크, 블루투스 네트워크)의 일부(즉, 통신)일 수 있다. 이러한 추가 데이터 통신 링크(370)는 또 다른 장치(예를 들어, AR 장치, VR 장치, 휴대폰, 태블릿 등)가 UWB 태그(300)와 통신하기 위한 포트로 간주될 수 있다. 이 포트는 다른 장치가 포지셔닝에 필요한 프로세싱의 일부를 수행하도록 구성되는 구현예에서 또는 다른 장치가 (예를 들어, AR 애플리케이션, VR 애플리케이션 등에 대한) 포지션 결과를 수신하도록 구성되는 구현예에서 유용할 수 있다.
UWB 태그(300)는 관성 측정 유닛(IMU, 390)을 더 포함할 수 있다. IMU(390)는 UWB 태그(300)의 움직임과 배향을 측정하도록 구성된 하나 이상의 가속도계 및 자력계를 포함할 수 있다. 비-단일 구현의 경우 IMU(390)는 모바일 컴퓨팅 장치 또는 스마트 장치의 IMU일 수 있다. 예를 들어, AR 안경에서 UWB 태그 기능을 제공하는 구성요소는 AR 안경의 IMU를 활용할 수 있다.
UWB 태그(300)는 기능을 위해 구성요소에 전기적으로 에너지를 공급하기 위해 배터리(380)(예를 들어, 재충전 가능한 배터리)와 같은 전원을 더 포함할 수 있다. 비-단일 구현의 경우, 배터리는 모바일 컴퓨팅 장치 또는 스마트 장치용 배터리일 수 있다. 예를 들어, AR 안경에서 UWB 태그 기능을 제공하는 부품은 UWB 태그 전용 배터리가 아닌 AR 안경의 배터리에 의해 전원을 공급받을 수 있다.
도 2로 돌아가면, UWB 포지션 데이터는 모바일 컴퓨팅 장치(210)에 의해 수집된 3D 스캔 데이터(예를 들어, 깊이 데이터)와 함께 저장되어 고정 좌표계(225)에 등록된 3D 지도를 재구성하는 데 사용될 수 있다. 모바일 컴퓨팅 장치는 다양한 시간에 여러 스캔을 수행하는 데 사용될 수 있고 다양한 스마트 장치들을 앵커 포인트로 사용할 수 있기 때문에, 실내 공간(200)에서 다수의 영역들(예: 방들)의 3D 지도를 생성하기 위해 데이터를 식별, 저장 및 병합하는 다양한 방법이 있을 수 있다.
도 4는 실내 공간에 대한 가능한 3D 스캐닝 시나리오를 도시한다. 도시된 스캐닝 시나리오는 본 개시의 측면을 설명하기 위해 자세히 설명될 것이지만, 이 스캐닝 시나리오 및 다른 가능한 스캐닝 시나리오에 대한 명백한 변형은 개시된 기술의 범위 내에 있는 것으로 이해될 수 있다. 도 4에 도시된 바와 같이, 실내 공간(400)은 제1 앵커 포지션에 위치한 제1 스마트 장치(410)(예: 스마트 홈 허브)와, 제2 앵커 포지션에 위치한 제2 스마트 장치(420)(예: 스마트 홈 온도조절기)를 포함한다. 모바일 컴퓨팅 장치(430)는 실내 공간(400)에서 영역들(예: 방들)을 3D 스캔하도록 구성된다. 3D 스캔은 사용자가 참여하는 매핑 프로세스의 일부일 수도 있고 사용자가 참여할 필요가 없는 다른 프로세스(예: AR 게임)의 일부일 수도 있다. 모바일 컴퓨팅 장치(430)는 또한 제1 스마트 장치(410) 및 제2 스마트 장치(420)에 상대적인 자신의 포지션을 결정하도록 구성된다. 이에 따라, 3D 스캔은 제1 앵커 포지션(즉, 제1 스마트 장치(410)) 및/또는 제2 앵커 포지션(즉, 제2 스마트 장치(420))에 등록된 3D 지도들을 생성할 수 있다.
동일한 앵커 포지션에 등록된 3D 지도들은 병합되어 더 많은 정보를 포함하는 병합된 3D 지도를 형성할 수 있다. 예를 들어, 병합된 3D 지도는 (i) 제1 3D 스캔 동안 스캔된 실내 공간의 제1 방 및 (ii) 제2 3D 스캔 동안 스캔된 실내 공간의 제2 방을 포함할 수 있다. 등록된 3D 지도들을 병합하면 부분 3D 지도들이 서로 다른 시간에 생성된 다음 시간이 지남에 따라 함께 병합되어 보다 완전한 3D 지도를 형성할 수도 있다. 예를 들어, 병합된 3D 지도는 (i) 제1 스캔 동안 스캔된 제1 방의 제1 부분 3D 스캔 및 (ii) 제2 스캔 동안 스캔된 제1 방의 제2 부분 3D 스캔을 포함할 수 있다. 즉, 병합된 3D 지도는 각 구성 지도보다 더 많은 영역 및/또는 더 많은 세부정보를 포함할 수 있다.
도 4에 도시된 바와 같이, 모바일 컴퓨팅 장치(430)는 실내 공간(400)의 제1 방(즉, 침실(401))에 대한 제1 3D 스캔(431)을 수행한다. 제1 3D 스캔(431) 동안, 모바일 컴퓨팅 장치(430)는 전술한 바와 같이, 제1 스마트 장치(410)와의 UWB 통신에 기초하여 상대적인 포지션 데이터를 수집한다. 이 포지션 데이터는 제1 스마트 장치(410)와 연관된 식별자(즉, ID)에 의해 제1 앵커 포지션에 상대적인 것으로 식별될 수 있다.
제1 3D 스캔 동안, 모바일 컴퓨팅 장치(430)는 위에서 설명된 바와 같이 제2 스마트 장치(420)와의 UWB 통신에 기초하여 상대적인 포지션 데이터를 수집할 수도 있다. 이 포지션 데이터는 제2 스마트 장치(420)와 연관된 ID에 의해 제2 앵커 포지션에 상대적인 것으로 식별될 수 있다.
다른 시간에, 모바일 컴퓨팅 장치(430)는 실내 공간(400)의 제2 방(즉, 사무실(402))에 대한 제2 3D 스캔(432)을 수행한다. 제2 3D 스캔(432) 동안, 모바일 컴퓨팅 장치(430)는 전술한 바와 같이 제1 스마트 장치(410)와의 UWB 통신에 기초하여 상대적인 포지션 데이터를 수집한다. 이 포지션 데이터는 제1 스마트 장치(410)와 연관된 ID에 의해 제1 앵커 포지션에 상대적인 것으로 식별될 수 있다.
각각의 3D 스캔은 IMU 데이터, 카메라 데이터 및/또는 깊이 센서 데이터의 일부 조합을 포함할 수 있는 3D 스캔 데이터를 생성한다. 3D 스캔 데이터는 앵커 포지션에 상대적인 거리들 및/또는 방향들을 포함할 수 있는 UWB 포지션 데이터(즉, 포지션 데이터, UWB 데이터)와 연관될 수 있다. 포지션 데이터는 앵커 포지션을 나타내는 ID(예: 장치 ID)로 식별될 수 있다. 도 4에 도시된 예시적인 시나리오로부터 병합된 3D 지도를 생성하기 위해 스캔/포지션 데이터를 재구성하고 병합하는 몇 가지 가능한 방법이 도 5-7에 도시되어 다음에 설명된다.
도 5는 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도를 생성하는 첫 번째 가능한 방법을 도시하는 흐름도이다. 전술한 바와 같이, 제1 3D 스캔은 침실(401)의 3D 스캔 데이터(즉, 3D-DATA) 및 제1 스마트 장치(410)에 상대적인 포지션 데이터(즉, POS-DATA(ID=1))를 포함하는 제1 데이터 세트(501)을 생성한다. 제1 3D 스캔은 또한 침실(401)의 3D 스캔 데이터(즉, 3D-DATA) 및 제2 스마트 장치(420)에 상대적인 포지션 데이터(즉, POS-DATA(ID=2))를 포함하는 제2 데이터 세트(502)를 생성한다. 이 예에서, 제1 데이터 세트(501)와 제2 데이터 세트(502)의 3D 스캔 데이터는 동일하지만(즉, 동일한 스캔의 결과) 실제로는 다를 수 있다. 예를 들어, 침실(401)의 2개의 3D 스캔이 획득될 수 있는데, 제1 앵커 포지션에 기초하여 제1 시간에 침실에 대한 제1 3D 스캔 및 제2 앵커 포지션에 기초하여 제2 시간에 침실에 대한 제2 3D 스캔이 획득될 수 있다.
전술한 바와 같이, 사무실(402)의 3D 스캔은 사무실(402)의 3D 스캔 데이터(즉, 3D-DATA) 및 제1 스마트 장치(410)에 상대적인 포지션 데이터(즉, POS-DATA(ID=1))를 포함하는 제3 데이터 세트(503)을 생성한다. 제1 데이터 세트(501), 제2 데이터 세트(502) 및 제3 데이터 세트(503)는 추후 재구성 및 병합을 위해 메모리(520)에 저장될 수 있다. 메모리는 모바일 컴퓨팅 장치의 로컬 메모리일 수 있다. 대안적으로, 메모리는 모바일 컴퓨팅 장치가 네트워크를 통해 액세스할 수 있는 원격 메모리(예를 들어, 클라우드 메모리)일 수 있다. 이 구현예에서는 각 3D 스캔의 데이터가 3D 지도로 재구성되지 않고 저장된다. 즉, 각 스캔의 원시 데이터가 3D 지도로 재구성되지 않고 저장된다. 이 접근 방식은 저장된 데이터가 원시 상태이고 필요에 따라 재구성 및 병합될 수 있으므로 단순성 측면에서 이점을 가질 수 있다.
도 5에 도시된 바와 같이, 방법은 원시 데이터가 병합된 3D 지도로 변환되는 재구성(즉, RECON) 및 병합(즉, MERGE) 프로세스(530)를 더 포함한다. 재구성/병합 프로세스(530)는 좌표계를 공유하는(즉, 공통 앵커 포인트로부터의 포지션 데이터를 갖는) 데이터 세트에 대해 데이터 세트(즉, 데이터 세트의 메타데이터)를 검색하는 것을 포함할 수 있다. 예를 들어, 도시된 바와 같이, 재구성 및 병합 프로세스(530)는 각각에 대한 포지션 데이터가 동일한 식별자(ID=1)를 갖기 때문에 제1 데이터 세트(501) 및 제3 데이터 세트(503)에 대해 동작한다. 재구성 및 병합 프로세스(530)의 출력은 침실(401)과 사무실(402)이 도 4에서 공간적으로 배치되고 배향되는 것처럼 나타내는 병합된 3D 지도(510)이다. 병합된 3D 지도(510)는 3D 포맷(예를 들어, obj)일 수 있다. 병합된 3D 지도는 병합에 사용되는 앵커 포지션을 식별하는 메타 데이터를 포함할 수도 있고 포함하지 않을 수도 있다.
도 6은 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도를 생성하는 두 번째 가능한 방법을 도시한 흐름도이다. 제1 데이터 세트(501), 제2 데이터 세트(502) 및 제3 데이터 세트(503)는 각각 3D 재구성 알고리즘(610)에 적용된다. 제1 데이터 세트(501)의 재구성(즉, RECON)은 제1 앵커 포인트에 등록된 데이터를 갖는 침실(401)의 제1 등록된 3D 지도(601)를 생성한다. 따라서, 제1 등록된 3D 지도(601)는 해당 3D 지도가 어떤 좌표계(즉, 앵커 포지션)(즉, 제1 스마트 장치(410))에 등록되어 있는지를 나타내는 연관 ID(즉, ID=1)를 갖는다. 제2 데이터 세트(502)의 재구성은 제2 앵커 포인트에 등록된 데이터를 갖는 침실(401)의 제2 등록된 3D 지도(602)를 생성한다. 따라서, 제2 등록된 3D 지도(602)는 해당 3D 지도가 어떤 좌표계(즉, 앵커 포지션)(즉, 제2 스마트 장치(420))에 등록되어 있는지를 나타내는 연관 ID(즉, ID=2)를 갖는다. 제3 데이터 세트(502)의 재구성은 제1 앵커 포인트에 등록된 데이터를 갖는 사무실(402)의 제3 등록된 3D 지도(603)를 생성한다. 따라서, 제3 등록된 3D 지도(603)는 해당 3D 지도가 어떤 좌표계(즉, 앵커 포지션)(즉, 제1 스마트 장치(410))에 등록되어 있는지를 나타내는 연관 ID(즉, ID=1)를 갖는다.
제1 등록된 3D 지도(601), 제2 등록된 3D 지도(602) 및 제3 등록된 3D 지도(603)는 나중에 사용 및/또는 병합을 위해 메모리(620)에 저장될 수 있다. 메모리는 모바일 컴퓨팅 장치의 로컬 메모리일 수 있다. 대안적으로, 메모리는 모바일 컴퓨팅 장치가 네트워크를 통해 액세스할 수 있는 원격 메모리(예를 들어, 클라우드 메모리)일 수 있다. 이 구현예에서는 사용가능한 3D 지도들이 나중에 병합할 수 있도록 저장되고 식별된다. 이러한 접근 방식은 저장된 등록된 3D 지도들을 개별 지도로 활용하고 필요에 따라 병합할 수 있기 때문에 활용성과 다양성 측면에서 장점이 있을 수 있다. 각각의 등록된 3D 지도의 재구성 및 저장은 서로 다른 시간에 이루어질 수 있으므로, 영역들의 등록된 지도들은 시간이 지남에 따라 저장 장치에 누적될 수 있다.
방법은 등록된 3D 지도를 결합하여 병합된 3D 지도(640)를 생성하는 병합(즉, MERGE) 프로세스(630)를 더 포함한다. 병합 프로세스(630)는 등록된 지도들에 대한 식별자들을 확인하는 단계, 동일한 식별자를 갖는 등록된 3D 지도들을 병합하는 단계, 및 동일한 식별자를 갖지 않는 등록된 3D 지도들을 병합하지 않는 단계를 포함할 수 있다. 도 6에 도시된 바와 같이, 제1 등록된 3D 지도(601)와 제3 등록된 3D 지도(603)는 동일한 식별자(즉, ID=1)를 가지므로 병합된다(630).
등록된 각각의 3D 지도에 대한 데이터는 3D 포인트들 및/또는 3D 포인트들로부터 생성된 3D 메쉬(예를 들어, 와이어프레임)를 포함할 수 있다. 3D 포인트들은 앵커 포지션에 의해 정의된 좌표계에 매핑될 수 있다. 일부 구현예에서, 등록된 3D 지도들은 영역의 이미지들을 포함한다. 예를 들어 해당 영역의 이미지들은 해당 영역을 나타내는 3D 표면에 렌더링될 수 있다.
도 7은 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도를 생성하기 위한 세 번째 가능한 방법을 도시하는 흐름도이다. 메모리(620)에 저장된 제1 등록된 3D 지도(601), 제2 등록된 3D 지도(602), 제3 등록된 3D 지도(603)는 각 영역들의 이미지들을 포함할 수 있다. 따라서, 방법은 해당 영역에 대한 추가 정보를 위해 3D 지도 이미지들을 분석하기 위한 식별 프로세스(710)를 포함할 수 있다. 이러한 추가 정보는 해당 영역의 특성들(예: 크기, 모양, 색상, 구성 등) 및/또는 해당 영역 내의 객체들(예: 가전제품, 가구, 장비 등)을 포함할 수 있다. 식별 프로세스에서는 이미지 인식 알고리즘을 사용하여 이 정보를 인식할 수 있다. 방법은 인식된 정보를 해당 영역을 설명하는 태그와 연관시키는 단계를 더 포함할 수 있다. 예를 들어, 제1 등록된 3D 지도(601)의 이미지 분석을 통해 침실(401)에 있는 침대를 식별할 수 있다. 이미지 분석은 자동으로 수행될 수 있으며, 이는 3D 매핑 시 영역을 정확하게 태깅해야 하는 사용자의 책임을 유리하게 제거할 수 있다. 이에 따라, 제1 등록된 3D 지도(601) 등록된 지도는 침실로 태깅될 수 있다. 태깅 후, 제1 등록/태깅된 3D 지도(701)는 침실로 태깅되고(즉, TAG=BEDROOM), 제2 등록/태깅된 3D 지도(702)는 침실로 태깅되고(즉, TAG=BEDROOM), 제3 등록/태깅된 3D 지도(703)는 사무실로 태깅된다(즉, TAG=OFFICE). 등록되고 태깅된 3D 지도는 모바일 컴퓨팅 장치에 대해 로컬 또는 원격(예를 들어, 클라우드)에 있는 메모리(730)에 저장될 수 있다. 방법은 등록/태깅된 3D 지도를 결합하여 병합된 3D 지도(750)를 생성하는 병합(즉, MERGE) 프로세스(740)를 더 포함한다. 도 6에 도시된 바와 같이, 제1 등록/태깅된 3D 지도(701)와 제3 등록/태깅된 3D 지도(703)는 둘 다 동일한 식별자(즉, ID=1)를 가지므로 병합된다(740). 병합의 결과는 태깅된 영역들을 포함하는 병합된 3D 지도(750)이다. 병합을 위해서는 등록된 3D 지도들이 동일한 식별자를 갖도록 요구할 수 있지만, 병합된 3D 내의 등록된 3D 지도들 중 일부에는 태그가 지정되지 않을 수도 있다.
병합된 3D 지도는 다양한 애플리케이션에서 사용될 수 있다. 병합된 3D 지도는 실내 공간의 시각화를 위해 큰 변화 없이 사용될 수 있다. 예를 들어, 병합된 3D 지도는 실내 공간의 3D 투어의 일부로 제시되거나 AR 클라우드 앵커와 같은 AR 애플리케이션에서 사실적인 가상 객체들을 생성하는 데 도움이 될 수 있으며, 이는 다수의 사용자들이 서로 다른 시간(또는 동시에)에 서로 다른 관찰 지점(또는 동일한 관찰 지점)에서 관찰/상호작용할 수 있는 AR 장면에 영구적인 가상 객체들을 추가할 수 있다. 병합된 3D 지도는 측정 및/또는 설계의 기초로 사용될 수도 있다. 예를 들어, 병합된 3D 지도는 현장 조사 및 컴퓨터 지원 설계(CAD) 모델 생성에 사용될 수 있다. 병합된 3D 지도는 특히 병합된 3D 지도가 태그가 지정된 영역들/위치들을 포함하는 경우, 추가 기능을 제공하기 위해 실내 포지셔닝을 활용하는 애플리케이션에 도움이 될 수도 있다.
이전에 설명된 실내 포지셔닝 시스템(IPS)은 3D 매핑 이외의 애플리케이션들에 사용될 수 있다. 이러한 애플리케이션들은 수집된 포지셔닝 데이터를 병합된 3D 지도와 연관시킴으로써 더욱 향상될 수 있다. 예를 들어, 스마트 장치의 동작은 해당 영역의 병합된 3D 지도 내에서 추적된 위치에 기초하여 조정될 수 있다.
도 8은 도 4에 도시된 3D 스캐닝 시나리오로부터 병합된 3D 지도의 가능한 애플리케이션을 도시한다. 도시된 애플리케이션은 개시의 측면들을 설명하기 위해 상세히 설명될 것이지만, 이 애플리케이션에 대한 명백한 변형뿐만 아니라 다른 가능한 애플리케이션도 개시된 기술의 범위 내에 있는 것으로 이해될 수 있다.
도 8에 도시된 바와 같이, 제1 앵커 포지션에 위치한 제1 스마트 장치(예: 스마트 홈 허브(801))는 복수의 스마트 장치들의 포지션들을 추적(또는 포지션들을 수신)한다. 도시된 복수의 스마트 장치들은 제1 스마트 스피커(810), 제2 스마트 스피커(820) 및 AR 안경(830)(사용자가 착용)을 포함한다. 각 스마트 장치는 자신을 추적하거나 또는 추적되어 스마트 홈 허브(801)에 대한 자신의 포지션을 획득할 수 있다. 예를 들어, UWB를 이용한 실내 포지셔닝은 제1 스마트 스피커(810)가 제1 포지션(x1, y1, z1)에 있고, 제2 스마트 스피커(820)는 제2 포지션(x2, y2, z2)에 있고, AR 안경(830)(사용자에 의해 착용)은 제3 포지션(x3, y3, z3)에 있다고 결정할 수 있다. 각각의 결정된 포지션은 스마트 홈 허브(801)가 위치하는 제1 앵커 포지션에 기초하는 좌표계(840)에 상대적이다.
결정된 포지션들은 병합된 3D 지도(750)와 비교될 수 있다. 또한, 결정된 포지션들은 태깅에 의해 결정된 부가정보와 비교될 수 있다. 예를 들어, 애플리케이션은 병합된 3D 지도(750)에서 태깅된 영역들(예: BEDROOM, OFFICE)에 대한 제1 포지션 및 제2 포지션의 비교에 기초하여 제1 스마트 스피커(810)가 침실에 있고 제2 스마트 스피커(820)가 사무실에 있다고 결론을 내릴 수 있다. 병합된 3D 지도(750)는 실내 공간의 경계들을 정의하는 데에도 도움이 될 수 있다. 예를 들어, 제3 포지션은 병합된 3D 지도에 의해 정의된 영역 내에 있으므로, 애플리케이션은 AR 안경(830)(사용자에 의해 착용)이 실내 공간의 경계들 내에 있다고 결론 내릴 수도 있다.
애플리케이션은 스마트 장치의 동작 방식에 영향을 미치기 위해 결정된 스마트 장치들의 위치들을 사용할 수 있다. 예를 들어, AR 안경(830)은 실내 공간의 경계들 내에 있는 것으로 판단되므로, 애플리케이션은 사용자에게 자동으로 기능(즉, 액세스)을 제공할 수 있으며, 사용자가 "안녕 컴퓨터야, 사무실에서 음악 틀어줘."라고 말하면, 그 명령이 수행된다. 즉, 병합된 3D에 대한 추적은 애플리케이션에 보안 측정을 제공하는 데 사용될 수 있다. 명령을 수행하기 위해, 애플리케이션은 사무실에서의 자신의 위치에 기초하여 음악을 재생하도록 제2 스마트 스피커(820)를 구성할 수 있다. 제1 스마트 스피커(810)는 침실에서의 자신의 위치에 기초하여 무음 상태를 유지하도록 구성된다.
영역들 외에도, 병합된 3D 지도 내의 특정 위치는 인식된 객체에 기초하여 태깅될 수 있다. 도시된 바와 같이, 제4 위치(x4, y4, z4)는 해당 위치에서 인식된 객체(예: 운동 기구(850))에 기초하여 태깅될 수 있다. 병합된 3D 지도(750)와 관련하여 스마트 장치를 추적하는 애플리케이션은 스마트 장치가 객체에 가까이(예를 들어, 1미터 이하) 이동할 때 기능을 변경(예를 들어, 프로세스 시작/중지)하도록 스마트 장치를 구성할 수 있다. 예를 들어, AR 안경(830)(즉, 사용자)이 운동 기구(850)에 가까이 접근하면, AR 안경의 AR 디스플레이에 이전 운동에 대한 통계가 디스플레이될 수 있다.
도 9는 본 개시의 가능한 구현예에 따른 병합된 3D 지도를 생성하는 방법의 흐름도이다. 방법(900)은 스캐닝을 위한 영역을 선택하는 단계(910)를 포함한다. 선택하는 단계는 스캐닝을 위해 실내 공간 영역 내에 모바일 컴퓨팅 장치를 포지셔닝하는 단계를 포함할 수 있다. 방법은 모바일 컴퓨팅 장치를 사용하여 영역(예를 들어, 방)의 3D 스캔을 수행하는 단계(920)를 더 포함한다. 3D 스캔은 센서들(예: 깊이 센서, 카메라, IMU)이 해당 영역 및 모바일 컴퓨팅 장치에 대한 정보를 캡처할 때 모바일 컴퓨팅 장치를 움직이는 것을 포함할 수 있다. 방법은 (예를 들어, 모바일 컴퓨팅 장치의) UWB 포지션 센서를 사용하여 3D 스캔 동안 앵커 포지션에 상대적인 모바일 컴퓨팅 장치의 위치를 찾는 단계(930)를 더 포함한다. 위치를 찾는 단계는 모바일 컴퓨팅 장치와 UWB를 위해 구성되고 UWB 신호들을 사용하여 앵커 포지션에 위치한 스마트 장치 사이의 범위 및/또는 각도를 계산하는 단계를 포함할 수 있다. 방법은 해당 영역의 3D 지도를 생성하는 단계(940)를 더 포함한다. 3D 지도는 앵커 포지션에 기초한 좌표계(예: 앵커 포지션은 좌표계의 원점)에 상대적인 3D 포인트들을 포함할 수 있다. 이 프로세스는 3D 지도의 컬렉션(950)(즉, 세트)을 생성하기 위해 반복될 수 있다. 방법은 병합된 3D 지도(980)를 형성하기 위해 동일한 앵커 포지션(960)를 갖는 3D 지도들을 병합하는 단계(970)를 더 포함한다.
도 10은 (예를 들어, 모바일 컴퓨팅 장치, 스마트 장치, AR 장치 등을 구현하기 위해) 여기에 설명된 기술과 함께 사용될 수 있는 컴퓨터 장치(1000) 및 모바일 컴퓨터 장치(1050)의 예를 도시한다. 컴퓨팅 장치(1000)는 프로세서(1002), 메모리(1004), 저장 장치(1006), 메모리(1004) 및 고속 확장 포트(1010)에 연결되는 고속 인터페이스(1008), 및 저속 버스(1014) 및 저장 장치(1006)에 연결되는 저속 인터페이스(1012)를 포함한다. 각각의 구성요소(1002, 1004, 1006, 1008, 1010, 1012)는 다양한 버스를 사용하여 상호연결되고, 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다. 프로세서(1002)는 고속 인터페이스(1008)에 연결된 디스플레이(1016)와 외부 입력/출력 장치에 GUI에 대한 그래픽 정보를 디스플레이하기 위해 메모리(1004) 또는 저장 장치(1006)에 저장된 명령어들을 포함하여 컴퓨팅 장치(1000) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 다른 구현예에서, 다중 메모리 및 메모리 유형과 함께 다중 프로세서 및/또는 다중 버스가 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 장치(1000)가 (예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 다중 프로세서 시스템으로서) 필요한 동작의 부분을 제공하는 각 장치와 연결될 수 있다.
메모리(1004)는 컴퓨팅 장치(1000) 내의 정보를 저장한다. 일 구현예에서, 메모리(1004)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 구현예에서, 메모리(1004)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(1004)는 또한 자기 디스크 또는 광학 디스크와 같은 컴퓨터 판독가능 매체의 다른 형태일 수도 있다.
저장 장치(1006)는 컴퓨팅 장치(1000)에 대용량 저장 장치를 제공할 수 있다. 일 구현예에서, 저장 장치(1006)는 플로피 디스크 장치, 하드 디스크 장치, 광학 디스크 장치, 또는 테이프 장치, 플래시 메모리 또는 기타 유사한 고체 상태 메모리 장치, 또는 저장 영역 네트워크 또는 기타 구성의 장치를 포함하는 장치의 어레이와 같은 컴퓨터 판독가능 매체이거나 이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 위에서 설명된 것과 같은 하나 이상의 방법을 수행하는 명령어들을 포함할 수 있다. 정보 매체는 메모리(1004), 저장 장치(1006), 또는 프로세서(1002)의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 컨트롤러(1008)는 컴퓨팅 장치(1000)에 대한 대역폭 집약적 동작을 관리하는 반면, 저속 컨트롤러(1012)는 낮은 대역폭 집약적 동작을 관리한다. 이러한 기능 할당은 단지 예시일 뿐이다. 일 구현예에서, 고속 컨트롤러(1008)는 메모리(1004), 디스플레이(1016)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(표시되지 않음)를 수용할 수 있는 고속 확장 포트(1010)에 연결된다. 구현예에서, 저속 컨트롤러(1012)는 저장 장치(1006) 및 저속 확장 포트(1014)에 연결된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 스캐너와 같은 하나 이상의 입/출력 장치 또는 스위치나 라우터와 같은 네트워킹 장치에 연결될 수 있다.
컴퓨팅 장치(1000)는 도면에 도시된 바와 같이 다양한 형태로 구현될 수 있다. 예를 들어, 표준 서버(1020)로 구현되거나 이러한 서버 그룹에서 여러 번 구현될 수 있다. 이는 랙 서버 시스템(1024)의 일부로 구현될 수도 있다. 또한, 노트북 컴퓨터(1022)와 같은 개인용 컴퓨터에서도 구현될 수 있다. 대안적으로, 컴퓨팅 장치(1000)의 구성요소는 장치(1050)와 같은 모바일 장치(미도시)의 다른 구성요소와 연결될 수 있다. 이러한 장치들 각각은 컴퓨팅 장치(1000, 1050) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 장치(1000, 1050)로 구성될 수 있다.
컴퓨팅 장치(1050)는 특히 프로세서(1052), 메모리(1064), 디스플레이(1054)와 같은 입/출력 장치, 통신 인터페이스(1066), 및 송수신기(1068)를 포함한다. 장치(1050)에는 추가 저장 장치를 제공하기 위해 마이크로드라이브 또는 기타 장치와 같은 저장 장치가 제공될 수도 있다. 구성요소들(1050, 1052, 1064, 1054, 1066, 1068) 각각은 다양한 버스를 사용하여 상호연결되며, 구성요소들 중 여러 개는 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다.
프로세서(1052)는 메모리(1064)에 저장된 명령어들을 포함하여 컴퓨팅 장치(1050) 내 명령어들을 실행할 수 있다. 프로세서는 별도의 다중 아날로그 및 디지털 프로세서를 포함하는 칩의 칩셋으로 구현될 수 있다. 프로세서는, 예를 들어, 사용자 인터페이스의 제어, 장치(1050)에 의해 실행되는 애플리케이션, 및 장치(1050)에 의한 무선 통신과 같은 장치(1050)의 다른 구성요소의 조정을 제공할 수 있다.
프로세서(1052)는 제어 인터페이스(1058) 및 디스플레이(1054)에 연결된 디스플레이 인터페이스(1056)를 통해 사용자와 통신할 수 있다. 디스플레이(1054)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이), LED(발광 다이오드) 또는 OLED(유기 발광 다이오드) 디스플레이, 또는 기타 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(1056)는 그래픽 및 기타 정보를 사용자에게 제시하기 위해 디스플레이(1054)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(1058)는 사용자로부터 명령을 수신하고 이를 프로세서(1052)에 제출하기 위해 변환할 수 있다. 또한, 외부 인터페이스(1062)는 프로세서(1052)와 통신하여 제공되어 장치(1050)와 다른 장치의 근거리 통신을 가능하게 할 수 있다. 외부 인터페이스(1062)는 예를 들어 일부 구현예에서는 유선 통신을 제공하고 다른 구현예에서는 무선 통신을 제공할 수 있으며, 다중 인터페이스도 사용될 수 있다.
메모리(1064)는 컴퓨팅 장치(1050) 내에 정보를 저장한다. 메모리(1064)는 컴퓨터 판독가능 매체 또는 매체, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(1074)는 또한 예를 들어, SIMM(싱글 인-라인 메모리 모듈) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(1072)를 통해 장치(1050)에 제공되고 연결될 수 있다. 이러한 확장 메모리(1074)는 장치(1050)에 추가 저장 공간을 제공할 수 있거나, 장치(1050)에 대한 애플리케이션 또는 기타 정보를 저장할 수도 있다. 구체적으로, 확장 메모리(1074)는 전술한 프로세스를 수행하거나 보완하기 위한 명령어들을 포함할 수 있고, 보안 정보도 포함할 수 있다. 따라서, 예를 들어 확장 메모리(1074)는 장치(1050)에 대한 보안 모듈로 제공될 수 있으며 장치(1050)의 보안 사용을 허용하는 명령어들로 프로그래밍될 수 있다. 또한, SIMM 카드에 해킹 불가능한 방식으로 식별 정보를 배치하는 등의 추가 정보와 함께 보안 애플리케이션이 SIMM 카드를 통해 제공될 수 있다.
메모리는 예를 들어 후술하는 바와 같이 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행 시 위에 설명된 것과 같은 하나 이상의 방법을 수행하는 명령어들이 포함되어 있다. 정보 매체는 예를 들어 송수신기(1068) 또는 외부 인터페이스(1062)를 통해 수신될 수 있는 메모리(1064), 확장 메모리(1074) 또는 프로세서(1052)의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
장치(1050)는 필요한 경우 디지털 신호 프로세싱 회로를 포함할 수 있는 통신 인터페이스(1066)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(1066)는 무엇보다도 GSM 음성 통화, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(1068)를 통해 발생할 수 있다. 또한, 블루투스, Wi-Fi 또는 기타 송수신기(미도시)를 사용하는 등의 단거리 통신이 발생할 수도 있다. 또한, GPS(글로벌 포지셔닝 시스템) 수신기 모듈(1070)은 장치(1050)에서 실행되는 애플리케이션에 의해 적절하게 사용될 수 있는 추가 내비게이션 및 위치 관련 무선 데이터를 장치(1050)에 제공할 수 있다.
장치(1050)는 또한 사용자로부터 음성 정보를 수신하고 이를 사용가능한 디지털 정보로 변환할 수 있는 오디오 코덱(1060)을 사용하여 청각적으로 통신할 수 있다. 오디오 코덱(1060)은 마찬가지로 예를 들어 장치(1050)의 핸드셋에서 스피커를 통해 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 소리에는 음성 전화 통화의 소리가 포함될 수 있고, 녹음된 소리(예: 음성 메시지, 음악 파일 등)가 포함될 수 있으며, 장치(1050)에서 동작하는 애플리케이션에 의해 생성된 소리도 포함될 수 있다.
컴퓨팅 장치(1050)는 도면에 도시된 바와 같이 다수의 다른 형태로 구현될 수 있다. 예를 들어, 휴대폰(1080)으로 구현될 수 있다. 이는 또한 스마트폰(1082), 퍼스널 디지털 어시스턴트 또는 기타 유사한 모바일 장치의 일부로 구현될 수도 있다.
여기에 설명된 시스템 및 기술의 다양한 구현예는 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(애플리케이션 특정 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이들 다양한 구현예는 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령들을 수신하고 데이터 및 명령들을 전송하기 위해 연결되는, 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍가능한 프로세서들을 포함하는 프로그래밍가능한 시스템에서 실행가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍가능한 프로세서에 대한 기계 명령어들을 포함하고, 고급 절차적 및/또는 객체 지향 프로그래밍 언어 및 어셈블리/기계 언어로 구현될 수 있다. 본 문서에 사용된 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여 기계 명령어들 및/또는 데이터를 프로그래밍가능한 프로세서에 제공하는 데 사용되는 모든 컴퓨터 프로그램 제품, 기기 및/또는 장치(예: 자기 디스크, 광 디스크, 메모리, 프로그램가능 논리 장치(PLD))를 의미한다. "기계 판독가능 신호"라는 용어는 기계 명령어들 및/또는 데이터를 프로그래밍가능한 프로세서에 제공하는 데 사용되는 모든 신호를 의미한다.
사용자와의 상호작용을 제공하기 위해, 여기에 설명된 시스템 및 기술은 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치(LED(발광 다이오드), OLED(유기 LED) 또는 LCD(액정 디스플레이) 모니터/스크린)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치(예: 마우스 또는 트랙볼)를 갖춘 컴퓨터에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 장치도 사용될 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 모든 형태의 감각 피드백(예: 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)일 수 있으며; 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다.
여기에 설명된 시스템 및 기술은 백엔드 구성요소(예: 데이터 서버)를 포함하거나, 미들웨어 구성요소(예: 애플리케이션 서버)를 포함하거나, 프런트엔드 구성요소(예: 사용자가 여기에 설명된 시스템 및 기술의 구현과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터)를 포함하거나, 이러한 백엔드, 미들웨어 또는 프런트엔드의 임의의 조합을 포함하는, 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성요소들은 디지털 데이터 통신의 모든 형태나 매체(예: 통신 네트워크)를 통해 상호연결될 수 있다. 통신 네트워크의 예로는 근거리 통신망("LAN"), 광역 통신망("WAN") 및 인터넷이 포함된다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다.
일부 구현예에서, 도면에 도시된 컴퓨팅 장치는 AR 헤드셋/HMD 장치(1090)와 인터페이스하여 물리적 공간 내에 삽입된 컨텐츠를 보기 위한 증강 환경을 생성하는 센서들을 포함할 수 있다. 예를 들어, 컴퓨팅 장치(1050) 또는 도면에 도시된 다른 컴퓨팅 장치에 포함된 하나 이상의 센서들은 AR 헤드셋(1090)에 입력을 제공하거나 일반적으로 AR 공간에 입력을 제공할 수 있다. 센서들은 터치스크린, 가속도계, 자이로스코프, 압력 센서, 생체 인식 센서, 온도 센서, 습도 센서 및 주변광 센서를 포함할 수 있지만, 이에 국한되지는 않는다. 컴퓨팅 장치(1050)는 AR 공간에 대한 입력으로서 사용될 수 있는 AR 공간에서의 컴퓨팅 장치의 절대적인 포지션 및/또는 검출된 회전을 결정하기 위해 센서들을 사용할 수 있다. 예를 들어, 컴퓨팅 장치(1050)는 제어기, 레이저 포인터, 키보드, 무기 등과 같은 가상 객체로서 AR 공간에 포함될 수 있다. AR 공간에 통합될 때 사용자에 의한 컴퓨팅 장치/가상 객체의 포지셔닝은 사용자가 AR 공간에서 특정 방식으로 가상 객체를 볼 수 있도록 컴퓨팅 장치를 포지셔닝하는 것을 허용할 수 있다. 예를 들어, 가상 객체가 레이저 포인터를 나타내는 경우 사용자는 마치 실제 레이저 포인터인 것처럼 컴퓨팅 장치를 조작할 수 있다. 사용자는 컴퓨팅 장치를 좌우, 상하, 원형 등으로 움직일 수 있으며 레이저 포인터를 사용하는 것과 유사한 방식으로 장치를 사용할 수 있다. 일부 구현예에서, 사용자는 가상 레이저 포인터를 사용하여 타겟 위치를 조준할 수 있다.
일부 구현예에서, 컴퓨팅 장치(1050)에 포함되거나 이에 연결되는 하나 이상의 입력 장치는 AR 공간에 대한 입력으로서 사용될 수 있다. 입력 장치는 터치스크린, 키보드, 하나 이상의 버튼, 트랙패드, 터치패드, 포인팅 장치, 마우스, 트랙볼, 조이스틱, 카메라, 마이크, 입력 기능이 있는 이어폰 또는 버드, 게임 컨트롤러 또는 기타 연결가능한 입력 장치를 포함할 수 있지만, 이에 국한되지는 않는다. 컴퓨팅 장치가 AR 공간에 통합될 때 컴퓨팅 장치(1050)에 포함된 입력 장치와 상호작용하는 사용자는 AR 공간에서 특정 동작이 발생하도록 할 수 있다.
일부 구현예에서, 컴퓨팅 장치(1050)의 터치스크린은 AR 공간에서 터치패드로 렌더링될 수 있다. 사용자는 컴퓨팅 장치(1050)의 터치스크린과 상호작용할 수 있다. 예를 들어, AR 헤드셋(1090)에서 상호작용은 AR 공간에서 렌더링된 터치패드 상의 움직임으로 렌더링된다. 렌더링된 움직임은 AR 공간의 가상 객체를 제어할 수 있다.
일부 구현예에서, 컴퓨팅 장치(1050)에 포함된 하나 이상의 출력 장치는 AR 공간에 있는 AR 헤드셋(1090)의 사용자에게 출력 및/또는 피드백을 제공할 수 있다. 출력 및 피드백은 시각적, 촉각적 또는 오디오일 수 있다. 출력 및/또는 피드백은 진동, 하나 이상의 조명이나 스트로보 켜기 및 끄기 또는 깜박임 및/또는 번쩍임, 알람 소리, 차임벨 재생, 노래 재생, 오디오 파일 재생 등을 포함할 수 있지만, 이에 국한되지는 않는다. 출력 장치는 진동 모터, 진동 코일, 압전 장치, 정전기 장치, 발광 다이오드(LED), 스트로브 및 스피커를 포함할 수 있지만, 이에 국한되지는 않는다.
일부 구현예에서, 컴퓨팅 장치(1050)는 컴퓨터 생성 3D 환경에서 또 다른 객체로 나타날 수 있다. 사용자와 컴퓨팅 장치(1050)의 상호작용(예를 들어, 회전, 흔들기, 터치스크린 터치, 터치스크린에서 손가락 스와이프)은 AR 공간의 객체와의 상호작용으로 해석될 수 있다. AR 공간의 레이저 포인터의 예에서, 컴퓨팅 장치(1050)는 컴퓨터로 생성된 3D 환경에서 가상 레이저 포인터로 나타난다. 사용자가 컴퓨팅 장치(1050)를 조작함에 따라 AR 공간에 있는 사용자는 레이저 포인터의 움직임을 보게 된다. 사용자는 컴퓨팅 장치(1050) 또는 AR 헤드셋(1090) 상의 AR 환경에서 컴퓨팅 장치(1050)와의 상호작용으로부터 피드백을 수신한다. 컴퓨팅 장치와 사용자의 상호작용은 제어가능한 장치에 대한 AR 환경에서 생성된 사용자 인터페이스와의 상호작용으로 변환될 수 있다.
일부 구현예에서, 컴퓨팅 장치(1050)는 터치스크린을 포함할 수 있다. 예를 들어, 사용자는 제어가능한 장치의 사용자 인터페이스와 상호작용하기 위해 터치스크린과 상호작용할 수 있다. 예를 들어, 터치스크린은 제어가능한 장치의 속성을 제어할 수 있는 슬라이더와 같은 사용자 인터페이스 요소를 포함할 수 있다.
컴퓨팅 장치(1000)는 랩탑, 데스크탑, 워크스테이션, 퍼스널 디지털 어시스턴트, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터를 포함하지만 이에 국한되지 않는 다양한 형태의 디지털 컴퓨터 및 장치를 나타내도록 의도된다. 컴퓨팅 장치(1050)는 퍼스널 디지털 어시스턴트, 휴대폰, 스마트폰 및 기타 유사한 컴퓨팅 장치와 같은 다양한 형태의 모바일 장치를 나타내도록 의도된다. 여기에 표시된 구성요소, 해당 연결 및 관계, 해당 기능은 단지 예일 뿐이며 이 문서에 설명 및/또는 청구된 발명의 구현을 제한하려는 의미는 아니다.
다수의 실시예가 설명되었다. 그럼에도 불구하고, 본 명세서의 정신과 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다.
또한, 도면에 도시된 논리 흐름은 원하는 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 필요로 하지 않는다. 또한, 설명된 흐름으로부터 다른 단계가 제공되거나 단계가 제거될 수 있으며, 설명된 시스템에 다른 구성요소가 추가되거나 제거될 수 있다. 따라서, 다른 실시예는 다음 청구범위의 범위 내에 있다.
위의 설명에 더해, 사용자는 여기에 설명된 시스템, 프로그램 또는 기능이 사용자 정보(예: 사용자의 소셜 네트워크, 소셜 액션, 활동, 직업, 사용자 선호도 또는 사용자의 현재 위치에 대한 정보) 수집을 가능하게 할 수 있는지 여부와 시기, 그리고 사용자에게 서버에서 컨텐츠나 통신이 전송되는지 여부에 대해 사용자가 선택할 수 있도록 하는 제어 기능을 제공받을 수 있다. 또한 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방법으로 처리되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자의 신원을 처리하여 사용자에 대한 개인 식별 정보를 확인할 수 없거나 위치 정보를 얻을 때 사용자의 지리적 위치를 (예: 도시, 우편번호 또는 주 수준과 같이) 일반화하여 사용자의 특정 위치를 확인할 수 없게 할 수 있다. 따라서 사용자는 자신에 대해 어떤 정보가 수집되고, 해당 정보가 어떻게 사용되며, 어떤 정보가 사용자에게 제공되는지 제어할 수 있다.
설명된 구현예의 특정 특징이 본 명세서에 설명된 바와 같이 설명되었지만, 이제 당업자에게는 많은 수정, 대체, 변경 및 등가물이 발생할 수 있다. 따라서, 첨부된 청구범위는 구현예의 범위 내에 속하는 모든 수정 및 변경을 포괄하도록 의도된 것임을 이해해야 한다. 이는 예시로서 제시된 것이며, 이에 국한되지 않으며, 형태나 세부 사항이 다양하게 변경될 수 있다는 점을 이해해야 한다. 본 명세서에 설명된 기기 및/또는 방법의 임의의 부분은 상호 배타적인 조합을 제외하고 임의의 조합으로 조합될 수 있다. 여기에 설명된 구현예는 설명된 다양한 구현예의 기능, 구성요소 및/또는 특징의 다양한 조합 및/또는 하위 조합을 포함할 수 있다.
다르게 정의되지 않는 한, 본 명세서에 사용된 모든 기술 및 과학 용어는 당업자가 일반적으로 이해하는 것과 동일한 의미를 갖는다. 본 명세서에 기술된 것과 유사하거나 등가인 방법 및 재료가 본 개시의 실시 또는 테스트에 사용될 수 있다. 명세서 및 첨부된 청구범위에서 사용된 바와 같이, 단수형 "a", "an", "the"는 문맥에서 달리 명시하지 않는 한 복수형을 포함한다. 본 명세서에 사용된 용어 "구성하는" 및 그 변형은 "포함하는"이라는 용어 및 그 변형과 동의어로 사용되며 개방적이고 비제한적인 용어이다. 본 명세서에 사용된 "선택적" 또는 "선택적으로"라는 용어는 이후에 설명되는 특징, 사건 또는 상황이 발생할 수도 있고 발생하지 않을 수도 있다는 것을 의미하며, 설명에는 상기 특징, 사건 또는 상황이 발생하는 경우와 발생하지 않는 경우가 포함된다는 의미이다. 범위는 본 명세서에서 하나의 특정 값 "대략" 및/또는 또 다른 특정 값 "대략"까지로 표현될 수 있다. 이러한 범위가 표현되는 경우, 측면은 하나의 특정 값 및/또는 다른 특정 값을 포함한다. 마찬가지로, 선행사 "대략"을 사용하여 값이 근사치로 표현되는 경우 특정 값이 또 다른 측면을 형성한다는 것이 이해될 것이다. 각 범위의 끝점은 다른 끝점과 관련하여 그리고 다른 끝점과 독립적으로 중요하다는 것이 추가로 이해될 것이다.

Claims (20)

  1. 3차원(3D) 지도 생성 방법에 있어서, 상기 방법은:
    모바일 컴퓨팅 장치의 깊이 센서를 사용하여 제1 영역의 제1 스캔을 수행하는 단계;
    모바일 컴퓨팅 장치의 초광대역 포지션 센서를 사용하여 제1 스캔 동안 앵커(anchor) 포지션에 상대적인(relative) 모바일 컴퓨팅 장치의 위치를 찾는 단계; 및
    제1 영역의 제1 3D 지도를 생성하는 단계를 포함하고, 상기 제1 3D 지도는 앵커 포지션에 상대적인, 방법.
  2. 제1항에 있어서,
    모바일 컴퓨팅 장치의 깊이 센서를 사용하여 제2 영역의 제2 스캔을 수행하는 단계;
    모바일 컴퓨팅 장치의 초광대역 포지션 센서를 사용하여 제2 스캔 동안 앵커 포지션에 상대적인 모바일 컴퓨팅 장치의 위치를 찾는 단계;
    제2 영역의 제2 3D 지도를 생성하는 단계, 상기 제2 3D 지도는 앵커 포지션에 상대적이며; 및
    앵커 포지션에 기초하여 상기 제1 3D 지도와 상기 제2 3D 지도를 병합하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서,
    제1 영역은 건물 또는 주택 내의 제1 방이고, 제2 영역은 건물 또는 주택 내의 제2 방인, 방법.
  4. 제3항에 있어서,
    앵커 포지션은 건물 또는 주택 내에 고정적으로 포지셔닝되는 스마트 장치의 위치이며, 스마트 장치는 초광대역 통신을 위해 구성되는, 방법.
  5. 제3항에 있어서,
    앵커 포지션은 건물 또는 주택 외부에 고정적으로 포지셔닝되는 스마트 장치의 위치이며, 스마트 장치는 초광대역 통신을 위해 구성되는, 방법.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 앵커 포지션에 기초하여 상기 제1 3D 지도와 상기 제2 3D 지도를 병합하는 단계는:
    두 영역을 커버하는 제3 3D 지도를 형성하기 위해 상기 제1 3D 지도와 상기 제2 3D 지도를 공간적으로(spatially) 배치하는 단계를 포함하는, 방법.
  7. 선행하는 어느 한 항에 있어서,
    깊이 센서는 LiDAR 센서, 카메라, 또는 초음파 센서인, 방법.
  8. 선행하는 어느 한 항에 있어서,
    모바일 컴퓨팅 장치는 휴대폰, 태블릿 또는 증강 현실 안경인, 방법.
  9. 선행하는 어느 한 항에 있어서,
    초광대역 포지션 센서는 초광대역 태그(tag)인, 방법.
  10. 제9항에 있어서,
    고정된 포지션에 상대적인 모바일 컴퓨팅 장치의 위치를 찾는 단계는:
    초광대역 태그와 초광대역 태그와의 초광대역 통신을 위해 구성된 스마트 장치 사이의 범위를 결정하는 단계를 포함하고, 스마트 장치는 앵커 포지션에 위치하는, 방법.
  11. 제9항에 있어서,
    고정된 포지션에 상대적인 모바일 컴퓨팅 장치의 위치를 찾는 단계는:
    초광대역 태그와 초광대역 태그와의 초광대역 통신을 위해 구성된 복수의 스마트 장치들 사이의 범위들을 결정하는 단계를 포함하고, 복수의 스마트 장치들 중 하나는 앵커 포지션에 위치하는, 방법.
  12. 위치에 기초하여 스마트 장치의 동작을 제어하는 방법에 있어서, 상기 방법은:
    모바일 컴퓨팅 장치에 의해 스캔된 제1 영역과 제2 영역을 포함하는 병합된 3D 지도를 생성하는 단계, 상기 제1 영역과 상기 제2 영역은 앵커 포지션에 대한 상대적인 포지션들에 따라 상기 병합된 3D 지도 내에 위치하며, 상기 상대적인 포지션들은 초광대역(UWB) 통신에 의해 결정되며;
    상기 병합된 3D 지도 내의 복수의 위치들을 태깅(tagging)하는 단계;
    UWB 통신 및 상기 병합된 3D 지도에 기초하여 스마트 장치를 추적하는 단계;
    스마트 장치가 상기 병합된 3D 지도 내의 태깅된 위치에 있는지 결정하는 단계; 및
    태깅된 위치에 기초하여 스마트 장치의 동작을 조정하는 단계를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 병합된 3D 지도 내의 복수의 위치들을 태깅하는 단계는:
    상기 병합된 3D 지도에 기초하여 건물 또는 주택의 경계들을 식별하는 단계; 및
    건물 또는 주택의 경계들 외부 위치에 태깅하는 단계를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 태깅된 위치에 기초하여 스마트 장치의 동작을 조정하는 단계는:
    스마트 장치가 건물 또는 주택의 경계들 외부 위치에 있을 때 스마트 장치의 네트워크 액세스를 제한하는 단계를 포함하는, 방법.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서,
    상기 병합된 3D 지도 내의 복수의 위치들을 태깅하는 단계는:
    상기 병합된 3D 지도와 상관된(correlated) 이미지들에 기초하여 객체를 식별하는 단계; 및
    상기 객체 주변 영역을 태깅하는 단계를 포함하는, 방법.
  16. 제15항에 있어서,
    상기 태깅된 위치에 기초하여 스마트 장치의 동작을 조정하는 단계는:
    스마트 장치가 상기 객체 주변 영역에 진입할 때 스마트 장치에 상기 객체에 관한 정보를 제시하는 단계를 포함하는, 방법.
  17. 제12항 내지 제16항 중 어느 한 항에 있어서,
    상기 병합된 3D 지도 내의 복수의 위치들을 태깅하는 단계는:
    상기 병합된 3D 지도에 기초하여 방을 식별하는 단계; 및
    상기 방을 태깅하는 단계를 포함하는, 방법.
  18. 제17항에 있어서,
    상기 태깅된 위치에 기초하여 스마트 장치의 동작을 조정하는 단계는:
    스마트 장치가 상기 방에 진입할 때에 기초하여 스마트 장치의 미디어 재생을 제어하는 단계를 포함하는, 방법.
  19. 제17항 또는 제18항에 있어서,
    상기 방을 태깅하는 단계는:
    상기 병합된 3D 지도와 상관된 이미지들에 기초하여 상기 방 내의 객체들을 식별하는 단계;
    상기 방 내의 객체들에 기초하여 방 유형을 결정하는 단계; 및
    상기 방 유형에 따라 상기 방을 태깅하는 단계를 포함하는, 방법.
  20. 3차원(3D) 지도 생성 시스템에 있어서, 상기 시스템은:
    스마트 장치, 상기 스마트 장치는 앵커 포지션에 고정적으로 위치하고 초광대역(UWB) 통신을 위해 구성되며; 및
    모바일 컴퓨팅 장치를 포함하고, 상기 모바일 컴퓨팅 장치는:
    깊이 센서, 상기 깊이 센서는 제1 스캔 동안 상기 깊이 센서가 제1 영역에 걸쳐 스캔될 때 제1 영역에 대응하는 깊이 데이터의 제1 세트, 및 제2 스캔 동안 상기 깊이 센서가 제2 영역에 걸쳐 스캔될 때 제2 영역에 대응하는 깊이 데이터의 제2 세트를 수집하도록 구성되고;
    UWB 태그, 상기 UWB 태그는 상기 스마트 장치와 상기 UWB 태그 사이의 UWB 통신에 기초하여 1차 스캔 및 2차 스캔 동안 모바일 컴퓨팅 장치와 앵커 포지션 사이의 범위들을 결정하도록 구성되며; 및
    프로세서를 포함하고, 상기 프로세서는:
    제1 스캔 동안 모바일 컴퓨팅 장치와 앵커 포지션 사이의 범위들에 기초하여 깊이 데이터의 제1 세트를 앵커 포지션에 등록하고;
    등록된 깊이 데이터의 제1 세트에 기초하여 앵커 포지션에 상대적인 제1 3D 지도를 생성하고;
    제2 스캔 동안 모바일 컴퓨팅 장치와 앵커 포지션 사이의 범위들에 기초하여 깊이 데이터의 제2 세트를 앵커 포지션에 등록하고;
    등록된 깊이 데이터의 제2 세트에 기초하여 앵커 포지션에 상대적인 제2 3D 지도를 생성하고; 그리고
    제1 3D 지도와 제2 3D 지도를 병합하기 위한 소프트웨어 명령들에 의해 구성되는, 시스템.
KR1020247003705A 2021-08-24 2022-08-22 실내 공간의 3차원 지도를 생성하기 위한 시스템 및 방법 KR20240028481A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/445,751 2021-08-24
US17/445,751 US11585917B1 (en) 2021-08-24 2021-08-24 Systems and methods for generating three-dimensional maps of an indoor space
PCT/US2022/075263 WO2023028449A2 (en) 2021-08-24 2022-08-22 Systems and methods for generating three-dimensional maps of an indoor space

Publications (1)

Publication Number Publication Date
KR20240028481A true KR20240028481A (ko) 2024-03-05

Family

ID=83457145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247003705A KR20240028481A (ko) 2021-08-24 2022-08-22 실내 공간의 3차원 지도를 생성하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US11585917B1 (ko)
EP (1) EP4392808A2 (ko)
JP (1) JP2024532299A (ko)
KR (1) KR20240028481A (ko)
CN (1) CN117859077A (ko)
WO (1) WO2023028449A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12004046B2 (en) 2021-09-13 2024-06-04 Motorola Mobility Llc Object tracking based on UWB tags
US12069120B2 (en) 2021-11-29 2024-08-20 Motorola Mobility Llc Digital media playback based on UWB radios
US20230168343A1 (en) * 2021-11-29 2023-06-01 Motorola Mobility Llc Object and Environment Dimensioning Based on UWB Radios
US11990012B2 (en) 2021-11-29 2024-05-21 Motorola Mobility Llc Object contextual control based on UWB radios
US20230186563A1 (en) * 2021-12-10 2023-06-15 The Boeing Company Three-dimensional inspection twin for remote visual inspection of a vehicle
US12063059B2 (en) 2022-01-20 2024-08-13 Motorola Mobility Llc UWB accessory for a wireless device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060121851A1 (en) * 2004-12-06 2006-06-08 Steve Moore Ultra-wideband security system
US20060143292A1 (en) * 2004-12-28 2006-06-29 Taubenheim David B Location-based network access
KR100981274B1 (ko) * 2010-03-11 2010-09-10 주식회사 베스트디지탈 자동 조명제어 시스템
US10332059B2 (en) * 2013-03-14 2019-06-25 Google Llc Security scoring in a smart-sensored home
EP3699736B1 (en) * 2014-06-14 2023-03-29 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10518407B2 (en) * 2015-01-06 2019-12-31 Discovery Robotics Apparatus and methods for providing a reconfigurable robotic platform
US10210285B2 (en) 2016-08-10 2019-02-19 Indoor Reality Inc. Methods for generating a floor plan from a building scan
CN106355647A (zh) 2016-08-25 2017-01-25 北京暴风魔镜科技有限公司 增强现实系统和方法
CN107958040B (zh) * 2017-11-22 2020-11-03 深圳慧智星晨科技有限公司 一种用于室内物品定位、管理以及分析的智能系统
US10325124B1 (en) 2017-12-07 2019-06-18 Kacchip, LLC Indoor position and vector tracking system and method
EP3746810A2 (en) * 2018-01-29 2020-12-09 Sonitor Technologies AS Ad hoc positioning of mobile devices using near ultrasound signals
US10951434B2 (en) 2018-03-23 2021-03-16 Apple Inc. Modular wall unit system
JP7120723B2 (ja) 2018-08-03 2022-08-17 株式会社トプコン レーザスキャナシステム
US11409881B2 (en) * 2019-08-12 2022-08-09 Dell Products, Lp Method and apparatus for wireless signal based location security system
CN111174799B (zh) 2019-12-24 2023-02-17 Oppo广东移动通信有限公司 地图构建方法及装置、计算机可读介质、终端设备

Also Published As

Publication number Publication date
US20230075389A1 (en) 2023-03-09
EP4392808A2 (en) 2024-07-03
WO2023028449A3 (en) 2023-04-06
JP2024532299A (ja) 2024-09-05
WO2023028449A2 (en) 2023-03-02
US11585917B1 (en) 2023-02-21
CN117859077A (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
US11585917B1 (en) Systems and methods for generating three-dimensional maps of an indoor space
US8933931B2 (en) Distributed asynchronous localization and mapping for augmented reality
KR102606785B1 (ko) 동시 로컬화 및 매핑을 위한 시스템 및 방법
US11127210B2 (en) Touch and social cues as inputs into a computer
US10345925B2 (en) Methods and systems for determining positional data for three-dimensional interactions inside virtual reality environments
KR102038638B1 (ko) 가상 현실에서 핸드 헬드 디바이스를 트랙킹하는 시스템
US10007349B2 (en) Multiple sensor gesture recognition
US9301103B1 (en) Method and system for determining position of an inertial computing device in a distributed network
US9245387B2 (en) Holographic snap grid
JP6255085B2 (ja) 位置特定システムおよび位置特定方法
US9454849B2 (en) Augmented reality playspaces with adaptive game rules
US20130174213A1 (en) Implicit sharing and privacy control through physical behaviors using sensor-rich devices
US20150193971A1 (en) Methods and Systems for Generating a Map including Sparse and Dense Mapping Information
US10685485B2 (en) Navigation in augmented reality environment
US20220277525A1 (en) User-exhibit distance based collaborative interaction method and system for augmented reality museum
KR20220122675A (ko) 공동 적외선 및 가시 광 시각-관성 오브젝트 추적
WO2020061792A1 (en) Real-time multi-view detection of objects in multi-camera environments
US9292963B2 (en) Three-dimensional object model determination using a beacon
US20240280687A1 (en) System and method for motion capture
US20240323633A1 (en) Re-creating acoustic scene from spatial locations of sound sources
EP4100918B1 (en) Method and system for aligning a digital model of a structure with a video stream

Legal Events

Date Code Title Description
A201 Request for examination