KR20170060034A - 맵 정보 보조 향상된 휴대가능 내비게이션을 이용하기 위한 방법 및 장치 - Google Patents

맵 정보 보조 향상된 휴대가능 내비게이션을 이용하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20170060034A
KR20170060034A KR1020177009189A KR20177009189A KR20170060034A KR 20170060034 A KR20170060034 A KR 20170060034A KR 1020177009189 A KR1020177009189 A KR 1020177009189A KR 20177009189 A KR20177009189 A KR 20177009189A KR 20170060034 A KR20170060034 A KR 20170060034A
Authority
KR
South Korea
Prior art keywords
map
information
navigation
navigation solution
map information
Prior art date
Application number
KR1020177009189A
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 KR20170060034A publication Critical patent/KR20170060034A/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/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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/49Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
    • 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/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/017Detecting state or type of motion

Abstract

본 개시내용은 맵 정보를 사용하여 휴대가능 디바이스의 내비게이션 솔루션을 향상시키는 것에 관한 것이다. 휴대가능 디바이스에 대한 센서 데이터는 내비게이션 솔루션을 유도하기 위하여 사용될 수 있다. 디바이스에 대한 포지션 정보는 내비게이션 솔루션을 사용하여 추정될 수 있다. 사용자의 현재 위치를 포함하는 영역에 관한 맵 정보가 또한 획득될 수 있다. 휴대가능 디바이스에 대한 가능한 포지션들에 관한 다수의 가설들은 추정된 포지션 정보 및 맵 정보를 사용하여 생성될 수 있다. 가설들을 관리하고 프로세싱함으로써, 업데이트된 추정된 포지션 정보가 제공될 수 있다. 업데이트된 추정된 포지션 정보는 내비게이션 솔루션을 향상시키기 위한 출력 또는 피드백으로서 제공될 수 있다.

Description

맵 정보 보조 향상된 휴대가능 내비게이션을 이용하기 위한 방법 및 장치 {METHOD AND APPARATUS FOR USING MAP INFORMATION AIDED ENHANCED PORTABLE NAVIGATION}
관련 출원에 대한 상호 참조
[001] 본 출원은, "METHOD AND APPARATUS FOR USING MAP INFORMATION AIDED ENHANCED PORTABLE NAVIGATION"란 명칭으로 2015년 9월 4일자로 출원된 미국 특허 출원 일련번호 14/845,903호 및 "METHOD AND APPARATUS FOR USING MAP MATCHING AND CONSTRAINING FOR ENHANCED PORTABLE NAVIGATION"란 명칭으로 2014년 9월 8일자로 출원된 미국 가특허출원 일련번호 62/047,511호의 장점 및 이를 우선권으로 주장하며, 이 특허 둘다는 전체가 인용에 의해 본원에 포함된다.
[002] 본 개시내용은 내비게이션 솔루션에 대해 제한하는 맵 및/또는 이에 대해 보조되는 맵의 사용을 통해 플랫폼(이를테면, 예컨대 사람, 차량 또는 선박) 내 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법 및 장치에 관한 것이며, 디바이스는 플랫폼에 스트랩되거나 또는 스트랩되지 않을 수 있고, 스트랩되지 않은 경우, 디바이스의 이동성은 플랫폼 내에서 제한되거나 또는 제한되지 않을 수 있고 디바이스는 임의의 배향으로 틸팅될 수 있으며 또한 심리스(seamless) 내비게이션을 제공한다.
[003] 핸드헬드형으로 구성된 아니면 사용자와 연관된 것들과 같은 휴대가능 전자 디바이스들이 광범위한 애플리케이션들 및 환경들에서 이용된다. 점차적으로, 이러한 디바이스들에는 하나 또는 그 초과의 센서들 또는 휴대가능 디바이스의 포지션 또는 모션을 결정하기 위한 다른 시스템들이 장착되고 있다. 특히, 스마트폰들, 테블릿들, 스마트 와치들 또는 다른 휴대가능 디바이스들과 같은 디바이스들은 GNSS(Global Navigation Satellite Systems), 저렴한 MEMS(Micro Electro-Mechanical Systems) 관성 센서들, 기압계들 및 자력계를 특징으로 할 수 있다. 대부분의 실외 환경들에서의 가능성있는 포지셔닝 결과들을 제공하기 위해 GNSS 및 멀티-센서들이 통합될 수 있다. 그러나, 일부 매스 마켓(mass market) 애플리케이션들은 모든 종류들의 환경들, 이를테면 쇼핑몰들, 사무실들 또는 지하 주차장들에서 심리스 포지셔닝 능력들을 요구한다. 실내 환경들에서 GNSS 신호들의 부재시, 저렴한 관성 센서들을 이용하는 종래의 SINS(strapdown Inertial Navigation System)은, 축적된 센서 드리프트들 및 바이어스들로 인해 상당한 성능 저하를 겪는다. 이로써, 오로지 모션 센서들에만 의존하는 포지셔닝 기법들은 심리스 실내 및 실외 내비게이션 애플리케이션들에 대한 모든 요건들을 충족하지 못할 수 있다.
[004] PDR(Pedestrian Dead Reckoning)은 휴대가능 디바이스 실내/실외 포지셔닝 기법들의 예이며, 최근 산업 및 학술 연구의 중심이 되고 있다. SINS과 유사하게, PDR은 포지션을 유도하기 위해 공지된 시작점으로부터 연속적인 변위를 축적한다. 이 변위(보폭 길이)는 관성 센서 측정들을 사용하여 소정의 정확도 내에서 다양한 알고리즘들을 통해 추정될 수 있다. PDR로부터의 보폭 길이를 사용하는 포지션 에러는 SINS로부터의 가속도계 유도 변위로부터 포지션 에러보다 훨씬 느리게 축적된다. PDR은 GNSS 업데이트들 없이 SINS에 비해 개선된 성능을 나타낸다. 그러나, PDR은, 축적된 헤딩 에러로 인해 여전히 견고성이 부족하다. 이러한 단점은 시간이 지남에 따라 삐뚤어진 경로를 야기하고 건물 레이아웃과 일치하지 않을 수 있는 포지션 추정치들을 생성할 수 있다. 따라서, 결과적인 내비게이션 궤도들은 벽들, 바닥들 또는 다른 장애물들을 교차할 수 있다. 이러한 타입들의 내비게이션 궤도 및 건물 레이아웃 불일치들을 방지하기 위해, 맵 정보가 가능한 라우트들로서 표시된 영역들로 PDR 솔루션을 제한하기 위해 사용될 수 있거나 또는 결정된 포지션이 맵 정보로부터 유도되는 가정된 포지션에 매칭하도록 업데이트될 수 있다. 본원에서 사용되는 바와 같이, 본 개시내용의 맵 보조 기법들은 유도된 포지션을 맵 정보로부터 결정된 포지션으로 업데이트하는 것 또는 사용자의 유도된 포지션을 제한하는 것 중 하나 또는 이 둘 다를 포함한다.
[005] 언급된 바와 같이, 맵 정보는 내비게이션 시스템의 신뢰성 및 포지셔닝 정확도 둘 다를 개선하는데 사용될 수 있다. 내비게이션 시스템에서 맵 정보를 사용하기 위해, 다양한 맵 보조 알고리즘들이 종래 기술에 제안되었고 적용되어 왔다. 맵 보조 알고리즘들은 일반적으로 4개의 카테고리들: 지오메트릭(geometric), 토폴로지컬(topological), 확률적(probabilistic) 및 다른 진보된 기법들로 분류될 수 있다.
[006] 지오메트릭 맵 보조 알고리즘들은 통상적으로 사용자 포지션과 맵 간의 지오메트릭 관계만을 고려한다. 이들은, 공간 도로(road) 네트워크들이 노드 포인트들 및 커브들로서 추상화되는 차량 내비게이션 애플리케이션에서 광범위하게 사용된다. 가장 흔히 사용되는 지오메트릭 맵-보조 알고리즘은 도로 세그먼트의 가장 가까운 노드 포인트에 사용자 포지션을 매칭시키는 포인트-대-포인트(point-to-point) 보조 기법이다. 구현은 쉽지만, 이는 도로 네트워크가 디지털화된 방식에는 민감하다. 다른 지오메트릭 맵-보조 알고리즘은 포인트-대-커브(point-to-curve) 보조식이다. 이러한 기법들은 사용자 포지션들을 도로의 클로셋(closet) 커브에 매칭시킨다. 각각의 커브들은 조각단위로 선형인 라인 세그먼트들을 포함한다. 거리는 사용자 포지션으로부터 각각의 라인 세그먼트들에 대해 계산될 수 있다. 가장 작은 거리를 제시하는 라인 세그먼트가 매칭된 도로로 선택된다. 이는 포인트-대-포인트 보조식보다는 효율적이지만, 이는 밀집된 도로 네트워크들에서는 불안정할 수 있다. 또 다른 지오메트릭 알고리즘은 커브-대-커브 보조식(curve-to-curve aided)인데, 이는 사용자 궤도의 짧은 히스토리를 도로들의 커브들에 매칭시키며 사용자 궤도에 대해 가장 짧은 거리를 갖는 도로 커브를 선정할 수 있다. 불행히도, 이 접근법은 이상치들(outliers)에 상당히 민감하며 흔히 예상치 못한 결과들을 결과로서 제시한다.
[007] 토폴로지컬 맵 보조 알고리즘들은, 기본적인 지오메트릭 정보 이외에, (이전에 식별된 도로 세그먼트를 포함할 수 있는) 이력 사용자 궤도 정보 및 토폴로지컬 정보, 이를테면 링크 연결성, 도로 분류, 도로 규제 정보(단일 방향, 회전 규제들)을 사용한다. 다양한 이전 작업들은 상이한 레벨들에 토폴로지컬 정보를 적용했다. 예컨대, (i) 후보 링크들의 세트를 식별하기 위해, 그리고 (ii) 후보 링크들의 세트로부터 정확한 링크를 식별하기 위해 토폴로지컬 정보가 사용된다. 따라서, 토폴로지컬 맵 보조 알고리즘들은 통상 지오메트릭 기법들에만 의존하는 알고리즘들을 능가한다. 게다가, 가중치-기반 토폴로지컬 맵 보조식은 매치 보조 성능을 추가로 개선시킬 수 있다. 이러한 기법들은, 상이한 도로 링크 후보들에 대한 가중치로서 GPS/DR 통합 시스템으로부터의 포지셔닝 정보 및 토폴로지 정보 및 네트워크 지오메트리의 상관 값들을 사용한다. 가장 높은 가중치 스코어를 갖는 링크는 정확한 도로 세그먼트로서 선택될 수 있다. 그러나, 이전 에포크에서의 도로 링크의 오인(misidentification)은 후속 맵 보조 결과들에 상당한 부정적인 영향력들을 가질 수 있다.
[008] 종래의 확률적 맵 보조 알고리즘들은 내비게이터로부터의 사용자 포지션에 주위에 에러 타원(error elliptical) 또는 직사각형 지역을 사용한다. 에러 지역은 추정된 내비게이션 포지션의 변동(variance)에 따른다. 에러 지역은 이후 사용자가 주행하는 도로 세그먼트를 식별하기 위해 도로 네트워크 상에 중첩된다. 에러 지역이 다수의 세그먼트들을 포함하면, 후보 세그먼트들의 평가는 헤딩, 연결성 및 근접성 기준들을 사용하여 수행된다. 컴퓨테이션 효율성 및 시스템 신뢰성을 개선하기 위해, 에러 지역은 사용자가 교차로를 지나 횡단할 때만 구성될 수 있다. 이는, 사용자가 주행하는 링크에 다른 도로 링크들이 근접할 때 각각의 에포크에서 에러 지역의 구성이 부정확한 링크 식별로 이어질 수 있기 때문이다.
[009] 진보된 맵 보조 알고리즘들은 일반적으로, 보다 진보된 기법들, 이를테면 Kalman 필터들, 입자 필터들, 퍼지 로직 모델들 또는 베이지안(Bayesian) 추론들을 의미한다. 예컨대, Kalman 필터는 GPS 또는 GPS/DR로부터의 사용자 포지션을 전달하기 위해 그리고 사용자 포지션을 재추정하여 직교 프로젝팅된 맵 매칭 포지션을 사용함으로써 트랙을 따라 에러를 감소시키기 위해 사용될 수 있다. 사용자의 포지션을 예측하고 업데이트하기 위해 유사한 개념들이 또한 입자 필터에 사용될 수 있다. 추가로, 퍼지 추론 시스템은, i) 사용자 포지션과 후보 링크들 간의 거리, 및 ii) 플랫폼 방향과 링크 방향 간의 차이에 따라, 매칭된 도로 링크를 유도하는데 사용될 수 있다. 더 추가의 예는, 일 세트의 가설들 및 확률들을 유도하기 위해, 도로 네트워크들의 토폴로지컬 분석 및 현재 사용자의 포지션의 유효 지역 내 모든 가능한 링크들로부터의 의사 측정들(프로젝팅된 포지션 및 헤딩)을 활용함으로써, 맵을 보조하는 MHT(Multiple Hypothesis Technique)를 사용하는 것이다.
[0010] 다양한 통상적으로 이용가능한 맵 보조 알고리즘들, 지오메트릭, 토폴로지컬, 확률적 또는 진보된 방법들에도 불구하고, 이 모두는 사용자가 링크된 포인트들, 라인들 및 커브들로 추상화될 수 있는 도로들의 네트워크에 대해 제한된다는 가정에 기반하여 고려될 수 있다. 이러한 가정은 다수의 실외 지상 차량 내비게이션 애플리케이션들에서 충분히 유효할 수 있지만, 룸들, 엘리베이터들, 복도들 및 유사한 구조들이 앞서 언급된 포인트들, 라인들 및 커브들로 단순화될 수 없는 복잡한 실내 환경들에서는 문제들에 직면할 수 있다. 일부 연구자들은 실내 포지셔닝 정확도를 개선하기 위해 건물 평면도로부터의 지오메트릭 제한(벽들, 접근불가능한 영역들) 정보를 입자 필터들에 사용했지만, 사용자는 무작위적인 방식으로 룸들에 들어가거나 나갈 수 있으며 간단한 지오메트릭 제한들은 이러한 시나리오들에서 바람직하지 않다. 또한, 이러한 기법들은 다층 상황들을 수용하지 못한다. 반대로, 종래의 다층 맵-보조 기법들은 계단들의 위치를 식별하기 위해 지오메트릭 정보에만 의존했다. 이러한 접근법들은, 특히 내비게이션 솔루션에서 드리프트가 발생할 때 충분히 신뢰할 수 없을 수 있다. 게다가, 기존의 맵 보조 알고리즘들 대부분은 사용자 모션 상태 정보를 무시한다. 사용자의 모션 상태, 이를테면 계단들 오르기/내려가기, 에스칼레이터들에서 서있기/걷기, 또는 엘레베이터들을 이용하기는, 실내 내비게이션 애플리케이션들에서 매칭되는 후보 레벨 변경 링크들 또는 오브젝트들을 확인하는데 유리하다. 진보된 알고리즘들, 이를테면 퍼지 로직들 또는 입자 필터들이 개선된 성능을 제공할 가능성이 있지만, 이들은 과중한 컴퓨테이션 부담으로 인해 실시간 또는 인과적(causal) 애플리케이션들에는 일반적으로 적합하지 않을 수도 있다.
[0011] 이에 따라, 휴대가능 디바이스들에 대한 포지셔닝 애플리케이션들의 정확도 및 신뢰성을 향상시키기 위해, 이용가능한 맵 정보, 특히 실내 맵들을 사용하는 내비게이션 기법들을 제공하는 것이 바람직할 것이다. 마찬가지로, 복잡한 멀티-레벨 실내 환경들에서 사용자가 신뢰성있게 내비게이팅하기 위해 멀티-레벨 실내 맵들을 핸들링할 뿐만 아니라 심리스 실외 및 실내 트랜지션으로 잘 동작하는 맵 정보 보조 기법들을 제공하는 것이 바람직할 것이다. 또한, 모션 센서들을 채용하는 휴대가능 디바이스로 실시간 동작하는 맵 정보 보조 기법들을 제공하는 것이 바람직할 것이다. 또한, 실시간 내비게이션에 대한 결과들 및 맵 매칭 결과들을 생성하기 위해 서버가 사용자의 모션 정보 및 업로딩된 포지션을 사용하는 것을 가능하게 함으로써, 클라이언트 및 서버 모드들에서의 효율적 동작을 위해 적응되는 맵 보조 기법들을 제공하는 것이 바람직할 것이다. 하기 자료들에 설명되는 바와 같이, 본 개시내용은 이들 요건 및 다른 요건을 충족시킨다.
[0012] 아래에서 상세히 설명되는 바와 같이, 본 개시내용은 맵 정보를 사용하여 휴대가능 디바이스 및 플랫폼의 내비게이션 솔루션을 향상시키기 위한 방법을 포함하며, 디바이스의 이동성(mobility)은 플랫폼 내에서 제한되거나 또는 제한되지 않으며, 디바이스는 임의의 배향으로 틸팅될 수 있다. 방법은, 휴대가능 디바이스에 대한 센서 데이터를 획득하는 단계, 센서 데이터에 적어도 부분적으로 기반하여 내비게이션 솔루션을 유도하는 단계, 내비게이션 솔루션에 적어도 부분적으로 기반하여 휴대가능 디바이스에 대한 추정된 포지션 정보를 제공하는 단계, 사용자의 현재 포지션을 포함하는 영역에 대한 맵 정보를 획득하는 단계, 추정된 포지션 정보 및 맵 정보에 적어도 부분적으로 기반하여 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하는 단계, 추정된 포지션 정보 및 맵 정보에 적어도 부분적으로 기반하여 가설들을 관리하는 단계, 휴대가능 디바이스에 대해 추정된 포지션 정보를 업데이트하기 위해 관리된 가설들을 프로세싱하는 단계 및 업데이트된 추정된 포지션 정보를 사용하여 향상된 내비게이션 솔루션을 제공하는 단계를 포함할 수 있다.
[0013] 본 개시내용은 또한 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스를 포함한다. 디바이스는, 휴대가능 디바이스의 모션을 표현하는 데이터를 출력하도록 구성된, 휴대가능 디바이스에 통합되는 센서 어셈블리, 및 프로세서를 포함하며, 프로세서는 센서 데이터에 적어도 부분적으로 기반하여 내비게이션 솔루션을 유도하기 위한 내비게이션 모듈 및 맵 모듈을 구현하도록 구성되며, 맵 모듈은 내비게이션 솔루션에 적어도 부분적으로 기반하여 휴대가능 디바이스에 대해 추정된 포지션 정보를 제공하기 위한 포지션 추정기, 사용자의 현재 포지션을 포함하는 영역에 대한 맵 정보를 획득하기 위한 맵 핸들러 및 추정된 포지션 정보 및 맵 정보에 적어도 부분적으로 기반하여 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하고 관리하기 위한 가설 분석기(hypothesis analyzer)를 가지며, 맵 모듈은 휴대가능 디바이스에 대해 추정된 포지션 정보를 업데이트하기 위해 관리된 가설들을 프로세싱한다.
[0014] 본 개시내용은 또한 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 시스템을 포함한다. 시스템은, 휴대가능 디바이스의 모션을 표현하는 데이터를 출력하도록 구성된 통합된 센서 어셈블리를 갖는 휴대가능 디바이스, 및 센서 데이터에 적어도 부분적으로 기반하여 내비게이션 솔루션을 유도하기 위한 내비게이션 모듈을 구현하도록 구성된 프로세서를 포함할 수 있다. 시스템은 또한, 휴대가능 디바이스로부터 내비게이션 솔루션을 수신하는 원격 프로세싱 자원들을 포함할 수 있다. 원격 프로세싱 자원들은, 내비게이션 솔루션에 적어도 부분적으로 기반하여 휴대가능 디바이스에 대해 추정된 포지션 정보를 제공하기 위한 포지션 추정기, 사용자의 현재 위치를 포함하는 영역에 대한 맵 정보를 획득하기 위한 맵 핸들러 및 추정된 포지션 정보 및 맵 정보에 적어도 부분적으로 기반하여 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하고 관리하기 위한 가설 분석기를 갖는 맵 모듈을 구현하도록 구성된 프로세서를 가질 수 있고, 맵 모듈은 휴대가능 디바이스에 대해 추정된 포지션 정보를 업데이트하기 위해 관리된 가설들을 프로세싱하며, 원격 프로세싱 자원들은 업데이트된 추정된 포지션 정보를 휴대가능 디바이스에 송신한다.
[0015] 도 1은 실시예에 따른, 내비게이션 솔루션을 향상시키기 위한 휴대가능 디바이스의 개략적 다이어그램이다.
[0016] 도 2는 실시예에 따른, 내비게이션 솔루션을 향상시키기 위한 예시적 아키텍처의 개략적 표현이다.
[0017] 도 3은 실시예에 따른, 내비게이션 솔루션을 향상시키기 위한 또 다른 예시적 아키텍처의 개략적 표현이다.
[0018] 도 4는 실시예에 따른, 내비게이션 솔루션을 향상시키기 위한 루틴의 흐름도이다.
[0019] 도 5는 실시예에 따른, 내비게이션 솔루션을 향상시키기 위한 시스템의 개략적 다이어그램이다.
[0020] 도 6은 실시예에 따른, 내비게이션 솔루션을 향상시키는데 사용하기 위한 맵 모듈의 개략적 표현이다.
[0021] 도 7은 실시예에 따른, 지오메트릭 맵에 클립핑(clipping)되는 맵 엔티티의 개략적 표현이다.
[0022] 도 8은 실시예에 따른 그리드 맵의 개략적 표현이다.
[0023] 도 9는 실시예에 따른, 가설들을 생성하는데 사용하기 위한 에러 타원의 개략적 표현이다.
[0024] 도 10은 실시예에 따른, 맵 엔티티들상에 프로젝팅되는 에러 타원의 개략적 표현이다.
[0025] 도 11은 실시예에 따른, 도어(door) 정보를 갖는 복도 시나리오에서의 에러 타원의 개략적 표현이다.
[0026] 도 12는 실시예에 따른, 도어 정보를 갖지 않는 복도 시나리오에서의 에러 타원의 개략적 표현이다.
[0027] 도 13은 실시예에 따른, 레벨 변화 시나리오에서의 내비게이션 솔루션을 비교하는 개략적 표현이다.
[0028] 도 14는 실시예에 따른, 헤딩 진동 제거(heading oscillation removal) 이후 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0029] 도 15는 실시예에 따른, 직선 복도 벽을 따른 다수의 가설들을 비교하는 개략적 표현이다.
[0030] 도 16은 실시예에 따른, L-형상 복도 벽을 따른 다수의 가설들을 비교하는 개략적 표현이다.
[0031] 도 17은 실시예에 따른, 벽 교차(wall crossing) 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0032] 도 18은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 복도 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0033] 도 19는 실시예에 따른, 핸드-헬드 사용 모드를 갖는 복도 시나리오에서의 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0034] 도 20은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 룸 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0035] 도 21은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 룸 변경 시나리오에서의 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0036] 도 22는 실시예에 따른, 포켓 사용 모드를 갖는 룸 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0037] 도 23은 실시예에 따른, 포켓 사용 모드를 갖는 룸 변경 시나리오에서의 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0038] 도 24는 실시예에 따른, 가변 사용 모드들을 갖는 룸 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0039] 도 25는 실시예에 따른, 가변 사용 모드들을 갖는 룸 변경 시나리오에서의 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0040] 도 26은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 1 레벨에 대해 에스칼레이터 레벨 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0041] 도 27은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 2 레벨에 대해 에스칼레이터 레벨 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0042] 도 28은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 1 레벨에 대해 에스칼레이터 레벨 변경 시나리오에서의 내비게이션 솔루션을 비교하는 개략적 표현이다.
[0043] 도 29는 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 2 레벨에 대해 에스칼레이터 레벨 변경 시나리오에서의 내비게이션 솔루션을 비교하는 개략적 표현이다.
[0044] 도 30은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 1 레벨에 대해 엘레베이터 레벨 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0045] 도 31은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 2 레벨에 대해 엘레베이터 레벨 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0046] 도 32는 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 1 레벨에 대해 엘레베이터 레벨 변경 시나리오에서의 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0047] 도 33은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 2 레벨에 대해 엘레베이터 레벨 변경 시나리오에서의 내비게이션 솔루션을 비교하는 개략적 표현이다.
[0048] 도 34는 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 1 레벨에 대해 엘레베이터/에스칼레이터 레벨 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0049] 도 35는 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 2 레벨에 대해 엘레베이터/에스칼레이터 레벨 변경 시나리오에서의 다수의 가설들을 비교하는 개략적 표현이다.
[0050] 도 36은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 1 레벨에 대해 엘레베이터/에스칼레이터 레벨 변경 시나리오에서의 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0051] 도 37은 실시예에 따른, 핸드-헬드 사용 모드를 갖는 제 2 레벨에 대한 엘레베이터/에스칼레이터 레벨 변경 시나리오에서의 내비게이션 솔루션들을 비교하는 개략적 표현이다.
[0052] 먼저, 본 개시내용이 특별히 예시된 재료들, 아키텍처들, 루틴들, 방법들 또는 구조들로 제한되지 않는다는 것이 이해되어야 하는데, 이는 이러한 예시된 재료들, 아키텍처들, 루틴들, 방법들 또는 구조들은 변경될 수 있기 때문이다. 따라서, 비록 본원에서 설명된 옵션들과 유사하거나 또는 등가인 다수의 그러한 옵션들이 본 개시내용의 실무에서 또는 본 개시내용의 실시예들에서 사용될 수 있을지라도, 바람직한 재료들 및 방법들이 본원에서 설명된다.
[0053] 본원에서 사용되는 용어가 단지 본 개시내용의 특정 실시예들을 설명하기 위한 것이며 제한하는 것으로 의도되지 않는다는 것이 또한 이해되어야 한다.
[0054] 첨부된 도면들과 관련하여 이하에서 제시된 상세한 설명은 본 개시내용의 예시적인 실시예들의 설명으로서 의도되며 본 개시내용이 실시될 수 있는 예시적인 실시예들만을 나타내는 것으로 의도되지 않는다. 본 상세한 설명 전반에 걸쳐 사용되는 용어 "예시적인"은 "예, 경우 또는 예시의 역할을 하는 것"을 의미하며 반드시 다른 예시적인 실시예들에 비해 바람직하거나 또는 유리한 것으로 해석되지 않아야 한다. 상세한 설명은 명세서의 예시적인 실시예들의 완전한 이해를 제공하기 위한 특정 세부사항들을 포함한다. 명세서의 예시적인 실시예들이 이들 특정 세부사항들 없이도 실시될 수 있다는 것이 당업자에게 명백할 것이다. 일부 경우들에서, 잘 알려진 구조들 및 디바이스들은 본원에서 제시된 예시적인 실시예들의 신규성을 모호하게 하는 것을 방지하기 위하여 블록도 형태로 도시된다.
[0055] 단지 편의성 및 명확성을 위하여, 최상부, 최하부, 좌측, 우측, 위로, 아래로, 바로 위에, 위에, 아래에, 바로 아래에, 뒤쪽, 후방 및 전방과 같은 지향성 용어들은 첨부 도면들 또는 칩 실시예들과 관련하여 사용될 수 있다. 이들 및 유사한 지향성 용어들은 어느 방식으로도 본 개시내용의 범위를 제한하는 것으로 해석되지 않아야 한다.
[0056] 본 명세서 및 청구항들에서, 한 엘리먼트가 다른 엘리먼트에 "연결되거나" 또는 "커플링되는" 것으로 언급될 때 한 엘리먼트는 다른 엘리먼트에 직접 연결 또는 커플링될 수 있거나 또는 중간 엘리먼트들이 존재할 수 있다는 것이 이해될 것이다. 대조적으로, 한 엘리먼트가 다른 엘리먼트에 "직접 연결되거나" 또는 "직접 커플링되는" 것으로 언급될 때에는 중간 엘리먼트가 존재하지 않는다.
[0057] 이하의 상세한 설명들의 일부 부분들은 컴퓨터 메모리내의 데이터 비트들에 대해서는 절차들, 로직 블록들, 프로세싱 및 다른 심볼 동작 표현들로 제시된다. 이들 설명들 및 표현들은 이들 내용의 요지를 데이터 프로세싱 분야의 당업자들에게 가장 효과적으로 전달하기 위하여 데이터 프로세싱 분야의 당업자에 의해 사용되는 수단이다. 본 출원에서, 절차, 로직 블록, 프로세스 등은 원하는 결과를 초래하는 단계들 또는 명령들의 자체-모순없는 시퀀스인 것으로 이해된다. 단계들은 물리적 양들의 물리적 조작들을 필요로 하는 단계들이다. 보통, 비록 필수적이지는 않을지라도, 이들 양들은 컴퓨터 시스템에서 저장, 전달, 결합, 비교 및 달리 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다.
[0058] 그러나, 이들 용어들과 유사한 용어들 전부가 적절한 물리적 양들과 연관될 것이며 단순히 이들 양들에 적용되는 편리한 라벨들이라는 것에 유념해야 한다. 만일 이하의 논의들로부터 달리 명백하게 구체적으로 언급하지 않는다면, 본 출원 전반에 걸쳐, "액세스하는", "수신하는", "전송하는", "사용하는", "선택하는", "결정하는", "정규화하는", "곱하는", "평균화하는", "모니터링하는", "비교하는", "적용하는", "업데이트하는", "측정하는", "유도하는" 등과 같은 용어들을 활용하는 논의들은 컴퓨터 시스템의 레지스터들 및 메모리들내에서 물리적(전자적) 양들로서 표현된 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 송신 또는 디스플레이 디바이스들내에서 물리적 양들로서 유사하게 표현되는 다른 데이터로 조작하여 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 액션들 및 프로세스들을 지칭한다는 것이 인식된다.
[0059] 본원에 설명된 실시예들은 하나 또는 그 초과의 컴퓨터들 또는 다른 디바이스들에 의해 실행되는 일부 형태의 비-일시적 프로세서-판독가능 매체, 이를테면 프로그램 모듈들 상에 상주하는 프로세서-실행가능 명령들의 일반적인 상황에서 논의될 수 있다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 수행하거나 또는 특정 요약 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 프로그램 모듈들의 기능성은 다양한 실시예들에서 원할 경우 조합되거나 분배될 수 있다.
[0060] 도면들에서, 단일 블록은 기능 또는 기능들을 수행하는 것으로서 설명될 수 있지만; 그러나, 실제 실시에서, 그 블록에 의해 수행되는 기능 또는 기능들은 단일 컴포넌트에서 또는 다수의 컴포넌트들에 걸쳐 수행될 수 있고, 및/또는 하드웨어를 사용하여, 소프트웨어를 사용하여, 또는 하드웨어와 소프트웨어의 조합을 사용하여 수행될 수 있다. 하드웨어와 소프트웨어의 이런 상호교환가능성을 명확하게 예시하기 위하여, 다양한 예시적 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그런 기능성이 하드웨어로서 구현되는지 소프트웨어로서 구현되는지는 특정 애플리케이션 및 전체 시스템 상에 부과되는 설계 제한들에 따른다. 당업자들은 각각의 특정 애플리케이션에 대해 가변 방식들로 설명된 기능성을 구현할 수 있지만, 그런 구현 결정들은 본 개시내용의 범위로부터 벗어남을 유발하는 것으로서 해석되지 않아야 한다. 또한, 예시적인 무선 통신 디바이스들은 잘-알려진 컴포넌트들, 이를테면 프로세서, 메모리 등을 포함하여, 도시된 것 이외의 컴포넌트들을 포함할 수 있다.
[0061] 본원에 설명된 기법들은, 특정 방식으로 구현되는 것으로 특정하게 설명되지 않으면, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 모듈들 또는 컴포넌트들로서 설명된 임의의 피처(feature)들은 또한 통합된 로직 디바이스에 함께 또는 별개인 것으로 그러나 상호동작가능한 로직 디바이스들로서 개별적으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기법들은, 실행될 때, 위에서 설명된 방법들 중 하나 또는 그 초과를 수행하는 명령들을 포함하는 비-일시적 프로세서-판독가능 저장 매체에 의해 적어도 부분적으로 구현될 수 있다. 비-일시적 프로세서-판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수 있는 컴퓨터 프로그램 제품의 부분을 형성할 수 있다.
[0062] 비-일시적 프로세서-판독가능 저장 매체는 RAM(random access memory), 이를테면 SDRAM(synchronous dynamic random access memory), ROM(read only memory), NVRAM(non-volatile random access memory), EEPROM(electrically erasable programmable read-only memory), FLASH 메모리, 다른 알려진 저장 매체 등을 포함할 수 있다. 기법들은 부가적으로, 또는 대안적으로, 명령들 또는 데이터 구조들 형태의 코드를 반송하거나 통신하고 그리고 컴퓨터 또는 다른 프로세서에 의해 액세스되고, 판독되고, 및/또는 실행될 수 있는 프로세서-판독가능 통신 매체에 의해 적어도 부분적으로 구현될 수 있다. 예컨대, 반송파는 컴퓨터-판독가능 전자 데이터, 이를테면 전자 메일을 송신하고 수신하는데 사용되거나 네트워크, 이를테면 인터넷 또는 LAN(local area network)에 액세스하는데 사용되는 것들을 반송하기 위하여 이용될 수 있다. 물론, 많은 변형들이 청구된 청구 대상의 범위 또는 사상으로부터 벗어남이 없이 이 구성에 대해 이루어질 수 있다.
[0063] 본원에 개시된 실시예들과 관련되어 설명된 다양한 예시적인 로지컬 블록들, 모듈들, 회로들 및 명령들은 하나 또는 그 초과의 프로세서들, 이를테면 하나 또는 그 초과의 MPU(motion processing unit)들, DSP(digital signal processor)들, 범용 마이크로프로세서들, ASIC(application specific integrated circuit)들, ASIP(application specific instruction set processor)들, FPGA(field programmable gate array)들, 또는 다른 등가의 집적 회로 또는 이산 로직 회로에 의해 실행될 수 있다. 본원에서 사용된 바와 같은 용어 "프로세서"는 전술한 구조 중 임의의 것 또는 본원에 설명된 기법들의 구현에 적당한 임의의 다른 구조를 지칭할 수 있다. 게다가, 일부 양상들에서, 본원에 설명된 기능성은 본원에서 설명된 바와 같이 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 또는 그 초과의 회로들 또는 로직 엘리먼트들로 완전히 구현될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예컨대 MPU 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, MPU 코어와 함께 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 그런 구성으로서 구현될 수 있다.
[0064] 다르게 정의되지 않으면, 본원에 사용된 모든 기술적 및 과학적인 용어들은 본 개시내용이 발명이 속하는 당업자에 의해 보통 이해되는 것과 동일한 의미를 가진다.
[0065] 마지막으로, 본 명세서 및 첨부된 청구항들에서 사용된 바와 같이, 단수 형태들은, 내용이 명확하게 다르게 지시하지 않으면, 복수의 지시대상들을 포함한다.
[0066] 본 개시내용의 기법들은 맵 정보를 사용하여 휴대가능 디바이스의 내비게이션 솔루션을 향상시키는 것에 관한 것이다. 흔히, 이러한 휴대가능 디바이스들은 디바이스를 이송하는 플랫폼과 연관될 수 있다. 플랫폼은, 사용자가 걷거나, 달리거나, 수영하거나 아니면 다른 로코모션을 경험함에 따라 스마트폰이 운반되고 있는 예에서처럼, 사용자일 수 있다. 플랫폼은 또한 사용자 및 휴대가능 디바이스를 운반하는 차량 또는 선박으로 간주될 수 있다. 휴대가능 디바이스는 일반적으로 플랫폼의 움직임 방향으로 이송 또는 운반될 수 있지만, 그 배향은 제한되지 않을 수 있다. 다시 스마트폰의 예를 참조로, 이는 사용자의 손에 쥐어져 포켓, 홀스터, 가방 또는 다른 방식들로 운반되거나 다양한 배향들에 활용될 수 있다. 다른 예들에서, 휴대가능 디바이스는 이를테면 차량 마운트를 갖는 플랫폼에 스트랩될 수도 있고 또는 스트랩되지 않을 수도 있다. 스트랩되지 않은 경우, 디바이스의 이동성은 플랫폼내에서 제한되거나 제한되지 않을 수 있으며, 결과적으로, 환경들은 사용자 또는 플랫폼에 대해 임의의 배향으로 틸팅될 수 있다.
[0067] 아래에서 더 상세히 설명되는 바와 같이, 맵 정보를 사용하여 휴대가능 디바이스 및 플랫폼의 내비게이션 솔루션을 향상시키기 위한 기법은 휴대가능 디바이스에 대한 센서 데이터를 획득하는 것을 수반한다. 이러한 양상들의 예시를 돕기 위해, 대표적인 휴대가능 디바이스(100)가 하이 레벨 개략적 블록들로 도 1에 도시된다. 인지될 바와 같이, 디바이스(100)는 디바이스 또는 장치, 이를테면 공간에서 사용자에 의해 이동되고 따라서 공간에서 그의 모션, 위치 및/또는 배향이 감지될 수 있는 핸드헬드 디바이스로서 구현될 수 있다. 예컨대, 이러한 핸드헬드 디바이스는 모바일 폰(예컨대, 스마트폰, 셀룰러 폰, 로컬 네트워크 상에서 실행되는 폰, 또는 임의의 다른 전화 핸드셋), 테블릿, PDA(personal digital assistant), 비디오 게임 플레이어, 비디오 게임 제어기, 내비게이션 디바이스, 웨어러블 디바이스(예컨대, 안경, 시계, 벨트 클립), 피트니스 트랙커(fitness tracker), 가상 또는 증강 현실 장비, MID(mobile internet device), PND(personal navigation device), 디지털 스틸 카메라, 디지털 비디오 카메라, 쌍안경, 망원 렌즈, 휴대가능 뮤직, 비디오 또는 미디어 플레이어, 원격 제어부, 또는 다른 핸드헬드 디바이스, 또는 이들 디바이스들의 하나 또는 그 초과의 조합일 수 있다.
[0068] 도시된 바와 같이, 디바이스(100)는 디바이스(100)의 기능들과 연관된 하나 또는 그 초과의 마이크로프로세서들, CPU(central processing unit)들 또는 메모리(104)에 저장될 수 있는 소프트웨어 프로그램들을 실행하기 위한 다른 프로세서들일 수 있는 호스트 프로세서(102)를 포함한다. 소프트웨어의 다수의 계층들은 호스트 프로세서(102)에서 사용하기 위한 전자 메모리와 같은 컴퓨터 판독가능 매체 또는 하드 디스크, 광학 디스크 등과 같은 다른 저장 매체의 임의의 조합일 수 있는 메모리(104)에 제공될 수 있다. 예컨대, 시스템 자원들을 실시간으로 제어 및 관리하고, 애플리케이션 소프트웨어 및 다른 계층들의 기능들을 인에이블링하고 디바이스(100)의 다른 소프트웨어 및 기능들과 애플리케이션 프로그램들을 인터페이스하기 위해 운영 시스템 계층이 디바이스(100)에 제공될 수 있다. 마찬가지로, 메뉴 내비게이션 소프트웨어, 게임들, 카메라 기능 제어, 내비게이션 소프트웨어, 통신 소프트웨어, 이를테면, 텔레포니 또는 WLAN(wireless local area network) 소프트웨어와 같은 상이한 소프트웨어 애플리케이션 프로그램들, 또는 매우 다양한 다른 소프트웨어 및 기능 인터페이스들 중 임의의 것이 제공될 수 있다. 일부 실시예들에서, 다수의 상이한 애플리케이션들이 단일 디바이스(100) 상에 제공될 수 있고, 그러한 실시예들 중 일부에서, 다수의 애플리케이션들이 동시에 실행될 수 있다.
[0069] 디바이스(100)는, 센서 프로세서(108), 메모리(110) 및 관성 센서(112)를 특징으로 하는 통합된 모션 프로세싱 유닛(MPUTM)(106) 형태로 여기에 도시된 바와 같이, 적어도 하나의 센서 어셈블리를 포함한다. 메모리(110)는 센서 프로세서(108)의 제어기들 또는 로직을 사용하여 아래에서 설명되는 바와 같이 관성 센서(112) 및/또는 다른 센서들에 의해 출력된 데이터를 프로세싱할 뿐만 아니라 관성 센서(112) 또는 다른 센서들에 의해 출력된 원(raw) 데이터 및/또는 모션 데이터를 저장하기 위한 알고리즘들, 루틴들 또는 다른 명령들을 저장할 수 있다. 관성 센서(112)는 공간에서 디바이스(100)의 모션을 측정하기 위한 하나 또는 그 초과의 센서들일 수 있다. 구성에 따라, MPU(106)는 디바이스의 하나 또는 그 초과의 회전축들 및/또는 하나 또는 그 초과의 가속도 축들을 측정한다. 일 실시예에서, 관성 센서(112)는 회전 모션 센서들 또는 선형 모션 센서들을 포함할 수 있다. 예컨대, 회전 모션 센서들은 하나 또는 그 초과의 직교 축들을 따라 각 속도를 측정하기 위한 자이로스코프들일 수 있고, 선형 모션 센서들은 하나 또는 그 초과의 직교 축들을 따라 선형 가속도를 측정하기 위한 가속도계들일 수 있다. 일 양상에서, 3 개의 자이로스코프들 및 3 개의 가속도계들이 채용될 수 있어서, 디바이스(100)의 센서 프로세서(108) 또는 다른 프로세싱 자원들에 의해 수행되는 센서 퓨전 동작은 모션의 6 축 결정을 제공하기 위해 관성 센서(112)로부터의 데이터를 조합한다. 요구될 때, 관성 센서(112)는 MPU(106)와 단일 패키지로 통합될 MEMS(Micro Electro Mechanical System)을 사용하여 구현될 수 있다. 호스트 프로세서(102) 및 MPU(106)의 적절한 구성들에 관한 예시적 세부사항들은 공동계류중이며 공동으로 소유된 2007년 7월 6일자로 출원된 미국 특허출원 일련번호 11/774,488호 및 2008년 4월 11일자로 출원된 12/106,921호에서 발견될 수 있고, 이로써 이 출원들은 전체가 인용에 의해 본원에 포함된다. 디바이스(100) 내의 MPU(106)에 적합한 구현들이 캘리포니아, 서니베일 소재의 InvenSense, Inc.로부터 입수 가능하다.
[0070] 대안적으로 또는 게다가, 디바이스(100)는 외부 센서(114) 형태로 센서 어셈블리를 구현할 수 있다. 외부 센서는, 내비게이션 솔루션을 유도하는데 사용하기 위한 데이터를 출력하는 가속도계 및/또는 자이로스코프와 같이, 위에서 설명된 바와 같은 하나 또는 그 초과의 센서들을 나타낼 수 있다. 본원에서 사용되는 바와 같이, "외부"는 MPU(106)와 통합되지 않은 센서를 의미하고, 디바이스(100)에 대해 원격 또는 로컬일 수 있다. 또한 대안적으로 또는 게다가, MPU(106)는 디바이스(100)를 둘러싸는 환경에 관한 하나 또는 그 초과의 양상들을 측정하도록 구성된 보조 센서(116)로부터 데이터를 수신할 수 있다. 예컨대, 기압계 및/또는 자력계는 관성 센서(112)를 사용하여 이루어진 포지션 결정들을 정제하는데 사용될 수 있다. 일 실시예에서, 보조 센서(116)는 3개의 직교 축들을 따라 측정하는 자력계를 포함하고, 모션의 9 축 결정을 제공하기 위해 자이로스코프 및 가속도계 관성 센서 데이터와 융합될 데이터를 출력할 수 있다. 다른 실시예에서, 보조 센서(116)는 모션의 10 축 결정을 제공하기 위해 다른 센서 데이터와 융합될 수 있는 고도 결정을 제공하기 위한 기압계를 또한 포함할 수 있다. 하나 또는 그 초과의 센서들이 MEMS 기반이라는 상황에서 설명되지만, 본 개시내용의 기법들은 임의의 센서 설계 또는 구현에 적용될 수 있다.
[0071] 도시된 실시예에서, 디바이스(100)의 호스트 프로세서(102), 메모리(104), MPU(106) 및 다른 컴포넌트들은 임의의 적절한 버스 또는 인터페이스, 이를테면, PCIe(peripheral component interconnect express) 버스, USB(universal serial bus), UART(universal asynchronous receiver/transmitter) 직렬 버스, 적절한 AMBA(advanced microcontroller bus architecture) 인터페이스, I2C(Inter-Integrated Circuit) 버스, SDIO(serial digital input output) 버스, SPI(serial peripheral interface) 또는 다른 등가물일 수 있는 버스(118)를 통해 커플링될 수 있다. 아키텍처에 따라, 상이한 버스 구성들은 원할 경우 채용될 수 있다. 예컨대, 부가적인 버스들은, 이를테면 호스트 프로세서(102) 및 메모리(104) 사이의 전용 버스를 사용함으로써 디바이스(100)의 다양한 컴포넌트들을 커플링하는데 사용될 수 있다.
[0072] 일 양상에서, 휴대가능 디바이스(100)에 대한 내비게이션 솔루션을 유도하는데 사용되는 본 개시내용의 다양한 동작들은, 호스트 프로세서(102)에 의해 판독 및 실행될 수 있는 메모리(104)에 저장된 적절한 명령들의 세트로서 내비게이션 모듈(120)을 통해 구현될 수 있다. 내비게이션 모듈(120)은 임의의 원하는 정도의 위치 인지 성능들을 제공하기 위해 레퍼런스-기반 전략, 자급식 전략, 또는 전략들의 임의의 조합을 채용할 수 있다. 예컨대, 내비게이션 모듈(120)은, 내비게이션 솔루션을 유도하기 위해, 이를테면, 관성 센서(112) 및/또는 외부 센서(114)로부터의 센서 데이터를 활용하는 관성 내비게이션 기법들을 채용할 수 있다. 그러한 기법들은 데드 레코닝(dead reckoning) 등을 수반할 수 있으며, 임의의 롤(roll), 피치(pitch), 방위(헤딩) 각도들과 같은 값들을 비롯하여 디바이스(100)에 대한 배향을 결정할 수 있다. 내비게이션 모듈(120)은 또한, 내비게이션 솔루션을 유도할 때, 절대적 내비게이션 정보(122)의 소스, 이를테면, 비제한적으로, GPS(Global Positioning System), GLONASS(Global Navigation Satellite System), 갈릴레오(Galileo) 및/또는 베이더우(Beidou)뿐만 아니라 WiFiTM 포지셔닝, 셀룰러 타워 포지셔닝, BluetoothTM 포지셔닝 비콘들 또는 다른 유사한 방법들을 비롯하여, GNSS(Global Navigation Satellite System) 수신기를 사용할 수 있다. 내비게이션 모듈(120)은 또한 신호 삼변측량을 사용하는 포지션 결정을 제공하기 위해 무선 통신 프로토콜로부터의 정보를 사용하도록 구성될 수 있다. 셀룰러-기반 및 WLAN(wireless local area network) 기법들, 이를테면, UTRA(Universal Terrestrial Radio Access), CDMA(Code Division Multiple Access) 네트워크들, GSM(Global System for Mobile Communications), IEEE(Institute of Electrical and Electronics Engineers) 802.16(WiMAX), LTE(Long Term Evolution), IEEE 802.11(WiFiTM) 및 다른 것들을 비롯하여 임의의 적절한 프로토콜이 채용될 수 있다. 더 추가로, 내비게이션 모듈(120)은, 비제한적으로, 걷기, 운전, 달리기, 계단 오르기/내려가기, 엘리베이터 타기, 에스컬레이터에서 걷기/서기 및 다른 유사한 모션 패턴들을 포함할 수 있는 사용자의 모션 패턴들을 표시하는 모션 모드를 결정하도록 또한 구성될 수 있다.
[0073] 유사하게, 맵 모듈(124)은 또한 호스트 프로세서(102)에 의해 판독되고 실행될 수 있는 메모리(104)에 저장된 적당한 명령들의 세트로서 구현될 수 있다. 아래에서 추가로 상세히 설명될 바와 같이, 맵 모듈(124)은 포지션 추정기(126), 가설 분석기(128) 및 맵 핸들러(handler)(130)를 포함할 수 있다. 포지션 추정기(126)는 휴대가능 디바이스(100)에 대한 포지션 정보를 추정하기 위하여 내비게이션 모듈(120)에 의해 제공된 내비게이션 솔루션을 사용할 수 있다. 추정된 포지션 정보는 또한 맵 핸들러(130)로부터의 정보 및 추정된 포지션을 사용하여 휴대가능 디바이스(100)의 가능한 포지션들에 관한 다수의 가설을 생성, 평가 및 조합하도록 구성될 수 있는 가설 분석기(128)로부터의 정보를 사용하여 업데이트될 수 있다. 대응하여, 맵 핸들러(130)는 휴대가능 디바이스(100)의 현재 위치를 포함하는 영역에 관하여 외부 정보에 액세스하고 가설 분석기(128)에 의해 사용가능한 형태의 정보를 제시하도록 구성될 수 있다. 생성된 가설을 프로세싱함으로써, 이를테면 적당한 가중 및 평균을 사용하거나, 선택된 가설을 선출(elect)하거나, 가설 그룹을 선출하고 그리고 적당한 가중 및 평균을 사용하여 선출한 가설 그룹만을 조합하거나, 또는 다른 적당한 동작들을 조합함으로써, 가설 분석기(128)로부터의 출력은 추정된 포지션 정보를 업데이트하기 위하여 포지션 추정기에 의해 사용될 수 있다. 추정된 포지션 정보 및/또는 업데이트된 추정된 포지션 정보는, 포지션 정보에 더하여, 속도 및/또는 헤딩 정보뿐 아니라, 디바이스(100)의 모션 또는 포지션에 관련된 임의의 다른 정보를 포함할 수 있고, 그리고 또한 맵 엔티티 정보를 포함할 수 있다. 그 다음으로, 업데이트된 추정된 포지션은 향상된 내비게이션 솔루션으로서 사용될 수 있거나 향상된 내비게이션 솔루션을 유도하는데 사용하기 위하여 내비게이션 모듈(120)에 다시 공급될 수 있다. 일부 실시예들에서, 업데이트된 추정된 포지션 정보 및 내비게이션 솔루션으로부터의 값들은 향상된 내비게이션 솔루션에 사용될 수 있다.
[0074] 다른 실시예들은 호스트 프로세서(102), MPU(106) 및 디바이스(100)에 의해 제공된 다른 자원들 간의 프로세싱의 임의의 원하는 분할을 특징으로 할 수 있거나, 또는 소프트웨어, 하드웨어 및 펌웨어의 임의의 원하는 조합을 사용하여 구현될 수 있다. 대안적으로 또는 게다가, 맵 모듈(124)과 연관된 동작들 중 임의의 동작은 원격으로 수행될 수 있고, 그 결과들은 내비게이션 솔루션을 향상시키기 위하여 휴대가능 디바이스(100)로 리턴된다. 원격으로 수행되든 로컬로 수행되든, 업데이트된 추정된 포지션-정보는 동시 사용을 위하여 휴대가능 디바이스(100)에 대한 포지션을 표시하는 포지션 정보의 결정을 표현한다. 비록 일부 송신, 일부 가능한 버퍼링, 및 프로세싱 시간이 요구될 수 있지만, 결과들은 적어도 근 실시간이고(일부 가능한 레이턴시들이 있을 수 있음) 그리고 추정된 포지션 정보가 업데이트되는 시간까지 최대로 이용가능한 임의의 정보를 사용할 수 있다. 이와 같이, 소프트웨어의 다수의 층들은 원하는 대로 이용될 수 있고 그리고 메모리(104), 메모리(110), 또는 다른 적당한 위치의 임의의 조합에 저장될 수 있다. 예컨대, 모션 알고리즘 계층은 모션 센서들 및 다른 센서들로부터 제공된 로우(raw) 센서 데이터에 대해 더 낮은-레벨 프로세싱을 제공하는 모션 알고리즘들을 제공할 수 있다. 센서 디바이스 드라이버 계층은 디바이스(100)의 하드웨어 센서들에 대한 소프트웨어 인터페이스를 제공할 수 있다. 게다가, 적당한 APU(application program interface)는 예컨대 원하는 센서 프로세싱 임무들을 송신하기 위하여, 호스트 프로세서(102)와 MPU(106) 간의 통신을 가능하게 하도록 제공될 수 있다. 이와 같이, 소프트웨어로 구현된 양상들은 애플리케이션 소프트웨어, 펌웨어, 상주 소프트웨어, 마이크로코드 등(그러나 이에 제한되지 않음)을 포함할 수 있고 그리고 컴퓨터 또는 임의의 명령 실행 시스템, 이를테면 호스트 프로세서(102), 센서 프로세서(108), 전용 프로세서 또는 디바이스(100)의 임의의 다른 프로세싱 자원들, 또는 원격 프로세싱 자원들에 의해 또는 관련하여 사용하기 위한 프로그램 코드를 제공하는 컴퓨터-사용가능 또는 컴퓨터-판독가능 매체로부터 액세스가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
[0075] 예시적인 실시예들을 예시하기 위하여, 휴대가능 디바이스(100)에 대해 향상된 내비게이션 솔루션을 제공하기 위한 제 1 아키텍처(200)는 도 2에 개략적으로 도시된다. 이를테면 관성 센서(112), 외부 센서(114) 및/또는 보조 센서(116)로부터의 센서 데이터는 내비게이션 모듈(120)에 대한 입력(202)으로서 제공될 수 있다. 이를테면 122로부터의 절대적 내비게이션 정보는 또한, 통합된 내비게이션 솔루션을 생성하기 위하여 이용가능하거나 이용가능할 때 제공될 수 있다. 차례로, 맵 모듈(124)은 향상된 내비게이션 솔루션을 출력하기 위하여 본원에서 설명된 바와 같은 맵 정보와 함께, 포지션, 속도 및/또는 자세 추정치들을 포함할 수 있고 그리고 또한 내비게이션 모듈(120)에 의해 결정된 바와 같은 사용자의 모션 모드를 포함할 수 있는 내비게이션 솔루션으로부터의 정보를 사용한다. 선택적으로, 표시된 바와 같이, 향상된 내비게이션 솔루션은 후속 내비게이션 솔루션들을 유도하는데 사용하기 위하여 내비게이션 모듈(120)에 다시 공급될 수 있다. 내비게이션 모듈(120)로의 피드백은 맵 정보가 향상된 포지션, 속도 및/또는 헤딩 정보를 포함할 수 있고 그리고 또한 디바이스의 포지션을 맵으로부터의 기준 오브젝트 또는 피처에 상관시키는 현재 맵 엔티티 정보를 포함할 수 있다. 피드백 정보는 통합된 내비게이션 솔루션의 성능을 추가로 개선시키기 위하여 사용될 수 있다.
[0076] 휴대가능 디바이스(100)에 대해 향상된 내비게이션 솔루션을 제공하기 위한 제 2 아키텍처(300)는 도 3에 개략적으로 도시된다. 다시, 이를테면 관성 센서(112), 외부 센서(114) 및/또는 보조 센서(116)로부터의 센서 데이터는 내비게이션 모듈(120)에 대한 입력(202)으로서 제공될 수 있다. 마찬가지로 이를테면 122로부터의 절대적 내비게이션 정보는 또한, 통합된 내비게이션 솔루션을 생성하기 위하여 이용가능하거나 이용가능할 때 제공될 수 있다. 차례로, 맵 모듈(124)은 표시된 바와 같이 내비게이션 모듈(120)에 다시 공급되는 업데이트된 추정된 포지션을 출력하기 위하여 맵 정보와 함께 위에서 설명된 바와 같은 입력들을 내비게이션 솔루션으로부터 수신한다. 다시, 내비게이션 모듈(120)로의 피드백은 맵 정보가 향상된 포지션, 속도 및/또는 헤딩 정보를 포함할 수 있고 그리고 또한 현재 맵 엔티티 정보를 포함할 수 있다. 따라서, 내비게이션 모듈(120)은 이 실시예에서 향상된 내비게이션 솔루션을 출력한다. 피드백 정보는 또한 후속 유도들에서 통합된 내비게이션 솔루션의 성능을 추가로 개선시키기 위하여 사용될 수 있다.
[0077] 본 개시내용의 기법들의 예시를 돕기 위해서, 대표적인 루틴이 도 4에 도시된다. 400으로 시작하며, 휴대가능 디바이스를 위한 센서 데이터가, 이를 테면, 관성 센서(112) 및/또는 외부 센서(114)로부터 획득될 수 있다. 센서 데이터를 사용하여, 내비게이션 모듈(120)은 내비게이션 솔루션을 유도할 수 있다(402). 휴대가능 디바이스(100)에 대한 포지션 정보가 추정될 수 있고(404), 주위 영역을 위한 맵 정보가 획득될 수 있다(406). 추정된 포지션 정보 및 맵 정보로부터 다수의 가설들이 생성될 수 있다(408). 다음, 410에서, 생성된 가설들이 본원에 설명된 바와 같이 관리되고, 그런 다음, 추정된 포지션 정보를 업데이트하기 위해 프로세싱된다(412). 그런 다음, 향상된 내비게이션 솔루션이 제공될 수 있다(414).
[0078] 일 양상에서, 업데이트된 추정된 포지션 정보는 향상된 내비게이션 솔루션으로서 그 자체로 사용될 수 있다. 업데이트된 추정된 포지션 정보는 향상된 내비게이션 솔루션을 유도하기 위해서 내비게이션 솔루션으로 제공될 수 있다. 향상된 내비게이션 솔루션의 유도는 업데이트된 추정된 포지션 정보를, 내비게이션 모듈에 대한 측정 업데이트로서 활용할 수 있다. 다른 옵션은, 향상된 내비게이션 솔루션이 내비게이션 솔루션 및 업데이트된 포지션 정보로부터의 값들을 포함할 수 있다.
[0079] 일 양상에서, 절대적 내비게이션 정보가 휴대가능 디바이스를 위해 획득될 수 있고, 내비게이션 솔루션은 절대적 내비게이션 정보에 기반하여 유도될 수 있다. 절대적 내비게이션 정보는 다음: (i) GNSS(global navigation satellite system); (ⅱ) 셀-기반 포지셔닝; (ⅲ) WiFi-기반 포지셔닝; 또는 (ⅳ) 다른 무선-기반 포지셔닝 중 임의의 하나 또는 임의의 조합으로부터 획득될 수 있다.
[0080] 일 양상에서, 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하는 것은 추가로, 이전 에포크로부터의 업데이트된 포지션 정보에 기반할 수 있다.
[0081] 일 양상에서, 맵 정보가 프리프로세싱될 수 있다. 맵 정보를 프리프로세싱하는 것은 맵 엔티티들을 추출하는 것을 포함할 수 있다. 맵 정보를 프리프로세싱하는 것은 또한 백그라운드 엔티티로부터 적어도 하나의 포어그라운드 맵 엔티티를 클리핑하는 것을 포함할 수 있다. 예컨대, 백그라운드 엔티티를 클리핑하는 것은 횡단가능한 영역을 정의할 수 있다. 맵 정보를 프리프로세싱하는 것은 추가로 또한, 맵 엔티티를 비교적 복잡한 다각형으로 나타내고, 그 다각형을 복수의 비교적 더 간단한 다각형들로 분해하는 것을 포함할 수 있다. 또한, 맵 정보를 프리프로세싱하는 것은 연결된 링크들 및 노드들의 그리드를 생성하는 것을 포함할 수 있다.
[0082] 일 양상에서, 추정된 포지션 정보는 휴대가능 디바이스의 잠재적인 포지션들을 나타내는 에러 영역일 수 있다. 가설들 중 적어도 하나는 에러 영역을 맵 정보 상으로 프로젝팅함으로써 생성될 수 있다. 복수의 가설들은, 복수의 맵 엔티티들과의 중첩이 발생하는 경우 에러 영역을 맵 정보 상으로 프로젝팅함으로써 생성될 수 있다. 맵 정보는 다각형 기반 지오메트릭 맵 및/또는 그리드 맵을 포함할 수 있다.
[0083] 일 양상에서, 맵 정보는 그리드 맵을 포함할 수 있고, 추정된 포지션 정보는 결정된 사용자 궤도와 그리드 맵의 지오메트릭 및/또는 토폴로지컬 피처들 간의 상관에 적어도 부분적으로 기반할 수 있다.
[0084] 일 양상에서, 가설들을 관리하는 것은 가설들을 추가, 제거 및 조합하는 것 중 적어도 하나를 포함할 수 있다.
[0085] 일 양상에서, 가설들을 관리하는 것은 의사 결정 로직을 적용하는 것을 포함할 수 있다. 의사 결정 로직은 벽 교차 이벤트 및/또는 레벨 변화 이벤트를 위해 구성될 수 있다.
[0086] 일 양상에서, 내비게이션 솔루션은 사용자에 대한 모션 모드일 수 있다. 추정된 포지션 정보는 모션 모드에 적어도 부분적으로 기반할 수 있고, 가설들은 모션 모드에 적어도 부분적으로 기반하여 관리될 수 있고 그리고/또는 레벨 변화 이벤트는 모션 모드에 적어도 부분적으로 기반할 수 있다.
[0087] 일 양상에서, 향상된 내비게이션 솔루션은 추정된 포지션 정보와 연관된 맵 엔티티에 적어도 부분적으로 기반하여 검출되는 사용자에 대한 모션 모드일 수 있다.
[0088] 일 양상에서, 휴대가능 디바이스에 대한 포지션 정보는 예측 전용 Kalman 필터, 거의 일정한 속도 Kalman 필터, 예측 전용 입자 필터 및 거의 일정한 속도 입자 필터 중 적어도 하나를 사용하여 추정될 수 있다.
[0089] 일 양상에서, 휴대가능 디바이스를 위한 추정된 포지션 정보를 업데이트하기 위해 맵 정보를 획득하고, 다수의 가설들을 생성하고, 가설들을 관리하고, 관리된 가설들 프로세싱하는 것 중 적어도 하나가 원격으로 수행될 수 있다.
[0090] 상기 설명된 바와 같이, 휴대가능 디바이스, 이를테면, 휴대가능 디바이스(100)는 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공할 수 있다.
[0091] 일 양상에서, 디바이스는 휴대가능 센서 디바이스에 대한 절대적 내비게이션 정보의 소스를 포함할 수 있고, 절대적 내비게이션 정보는 내비게이션 솔루션을 보조할 수 있다. 절대적 내비게이션 정보는 다음: (i) GNSS(global navigation satellite system); (ⅱ) 셀-기반 포지셔닝; (ⅲ) WiFi-기반 포지셔닝; 또는 (ⅳ) 다른 무선-기반 포지셔닝 중 임의의 하나 또는 임의의 조합으로부터 획득될 수 있다.
[0092] 일 양상에서, 맵 모듈은 향상된 내비게이션 솔루션을 제공하며, 업데이트된 추정된 정보는 향상된 내비게이션 솔루션일 수 있다.
[0093] 일 양상에서, 업데이트된 추정된 포지션 정보는 내비게이션 모듈로 제공될 수 있고, 내비게이션 모듈은 업데이트된 추정된 포지션 정보를 사용하여 내비게이션 솔루션을 향상시킬 수 있다. 내비게이션 솔루션을 향상시키는 것은 업데이트된 추정된 포지션 정보를, 내비게이션 모듈에 대한 측정 업데이트로서 활용할 수 있다.
[0094] 일 양상에서, 맵 모듈은 향상된 내비게이션 솔루션을 제공할 수 있으며, 향상된 내비게이션 솔루션은 업데이트된 추정된 정보 및 내비게이션 솔루션으로부터의 값들을 포함한다.
[0095] 일 양상에서, 센서 어셈블리는 가속도계 및 자이로스코프를 포함할 수 있다. 센서 어셈블리는 MEMS(Micro Electro Mechanical System)로서 구현되는 관성 센서일 수 있다.
[0096] 일부 실시예들에서, 맵 모듈(124)에 의해 수행되는 것으로 설명된 기능들은 원격으로 수행될 수 있다. 예시를 돕기 위해, 적절한 내비게이션 시스템(500)의 하나의 아키텍처가 도 5에 개략적으로 도시된다. 도시된 바와 같이, 휴대가능 디바이스(502)는 통합된 내비게이션 솔루션을 유도하기 위해 디바이스(502)에 대한 센서 데이터, 및 선택적으로 절대적 내비게이션 정보를 채용하기 위한 내비게이션 모듈(120)을 구현할 수 있다. 포지션, 속도 및/또는 자세 추정들을 포함할 수 있고, 또한 사용자의 모션 모드를 포함할 수 있는 내비게이션 솔루션은 적절한 원격 프로세싱 자원들, 이를테면 서버(504)로 송신될 수 있다. 이어서, 서버(504)는 휴대가능 디바이스(502)에 대한 추정된 포지션 정보를 업데이트하기 위해, 위에서 설명된 기능들 중 임의의 것 또는 모두를 비롯하여, 맵 모듈(124)을 구현할 수 있다. 이어서, 서버(504)는 임의의 적절한 사용을 위해 업데이트된 추정된 포지션 정보를 휴대가능 디바이스(502)로 송신한다. 휴대가능 디바이스(502)로 피드백된 업데이트된 추정된 포지션 정보는, 제한없이, 하나 또는 그 초과의 맵 엔티티들에 관한 정보 및/또는 헤딩 정보를 비롯하여, 임의의 적절한 정보를 포함할 수 있다.
[0097] 일 양상에서, 디바이스는 향상된 내비게이션 솔루션을 제공하고, 여기서 업데이트된 추정된 정보는 향상된 내비게이션 솔루션일 수 있다.
[0098] 일 양상에서, 업데이트된 추정된 포지션 정보는 내비게이션 모듈로 제공될 수 있고, 여기서 내비게이션 모듈은 업데이트된 추정된 포지션 정보를 사용하여 내비게이션 솔루션을 향상시킬 수 있다. 내비게이션 솔루션을 향상시키는 것은 내비게이션 모듈에 대한 측정 업데이트로서 업데이트된 추정된 포지션 정보를 활용할 수 있다.
[0099] 일 양상에서, 디바이스는 또한 향상된 내비게이션 솔루션을 제공할 수 있고, 여기서 향상된 내비게이션 솔루션은 업데이트된 추정된 정보 및 내비게이션 솔루션으로부터의 값들을 포함한다.
예들
[00100] 위에서 설명된 바와 같이, 본 개시내용의 기법들은 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하는 것을 수반한다. 맵 모듈(124) 및 내비게이션 모듈(120) 사이의 적절한 관계를 도시하는 예시적인 아키텍처(600)가 도 6에 개략적으로 도시된다. 맵 모듈(124)의 기능들은 휴대가능 디바이스(100)에 의해 구현될 수 있거나, 원격 프로세싱 자원들, 이를테면 서버에 의해 제공될 수 있다. 내비게이션 모듈(120)은, 연속하는 포지셔닝 및 모션 모드 정보를 생성하기 위해 절대적 내비게이션 정보의 임의의 소스로부터의 포지션, 속도 및/또는 헤딩 업데이트들과 함께, 다수의 모션 센서들, 예컨대, 가속도계들, 자이로스코프들, 자력계들 및 기압계들로부터의 원 측정들을 통합하기 위해 필터를 사용할 수 있다. 이러한 정보는 도시된 바와 같이 내비게이션 모듈(120)의 포지션 추정기(126)에 대한 입력들로서 제공된다. 포지션 추정기는 개선된 맵 매치 포지셔닝 추정들을 생성하기 위해 내비게이션 모듈(120)로부터의 정보뿐만 아니라 가설 분석기(128)로부터의 결과들을 활용할 수 있다. 가설 분석기(128)는 다음의 에포크에 대한 가설들을 생성, 제거 또는 조합하기 위해 이들 포지션 추정들을 사용한다. 포지션 추정기(126)는 모든 가능한 맵 매치 후보들을 유지하고, 그들의 대응하는 포지셔닝 추정들을 생성한다. 포지션 추정기(126)는, 제한없이, Kalman 필터들, 무향(unscented) Kalman 필터들, 입자 필터들 등을 비롯하여, 포지션 추정들 획득하기 위한 필터들 중 어느 하나 또는 이들의 조합을 사용할 수 있다. 애플리케이션들, 예컨대, 예측 전용, 거의 일정한 속도 및 다른 것들에 따라 상이한 시스템 및 측정 모델들이 또한 사용될 수 있다. 이들 모델들은 휴대가능 디바이스(100)의 포지션을 전파하고 측정 업데이트들로서 내비게이션 솔루션 출력들을 사용하기 위해 상이한 기법들을 채용할 수 있다. 대표적인 시스템 및 측정 모델들이 다음의 자료들에서 설명되지만, 다른 변동들이 채용될 수 있다. 포지션 추정기(126)는 업데이트된 포지션을 출력할 수 있고, 이것은 또한 가설들의 조합인 속도 및/또는 헤딩 정보를 포함할 수 있다. 예컨대, 조합은 가중된 평균일 수 있다. 가설들을 조합하는데 사용되는 가중치들은 경험적 또는 토폴로지컬 모델들에 따라 적응적으로 튜닝될 수 있다. 예컨대, 가중은 가설들의 수 및/또는 포지션 추정들의 불확실성에 기반하여 조정될 수 있다. 가설들의 조합으로부터의 업데이트된 포지션은 맵 보조 정보를 나타내고, 향상된 내비게이션 솔루션을 제공하기 위해 맵 모듈(124) 및/또는 내비게이션 모듈(120)에 의해 사용될 수 있다. 현재 맵 엔티티는 또한 구현에 따라 향상된 내비게이션 솔루션을 유도하는데 사용하기 위해 내비게이션 모듈(120)에 피드백될 수 있다. 내비게이션 모듈(120)로의 피드백은 또한 자이로스코프들에 대한 바이어스 추정 및 내비게이션 필터 내의 플랫폼과 디바이스 사이의 오정렬 각도를 개선하기 위해 채용될 수 있다. 더욱이, 사용자의 현재 맵 엔티티 정보는 또한 내비게이션 솔루션에서 모션 검출을 개선하는데 유리하다. 예컨대, 사용자가 계단들 위에 있다고 결정될 수 있다면, 대응하는 센서 데이터의 패턴들은 그 모션 모드와 연관될 수 있다.
[00101] 맵 정보는 초기에 임의의 적절한 소스, 이를테면 온-라인 맵 서비스 제공자들로부터 획득될 수 있다. 필요한 맵 정보는 맵 모듈(124)에 의해 사용하기에 적절한 형태로 프리프로세싱될 수 있다. 예컨대, 맵 정보는 내부 맵 데이터 구조로 변환될 수 있고, 여기서 이것은 원하는 경우 이것을 다시 다운로딩 및 프로세싱하는 오버헤드 없이 맵 모듈(124)에 의한 미래의 사용을 위해 로컬 저장소에 저장될 수 있다. 따라서, 맵 정보를 프리프로세싱하는 것은 i) 다양한 맵 데이터 제공자들로부터의 맵 정보를 통합된 데이터 구조로 변환하고, ii) 맵 보조 알고리즘들에 적절한 필요한 맵 데이터 구조를 준비하고 그리고/또는 iii) 맵 정보를 로컬 저장소, 이를테면 메모리(104)에 저장하는 기능들을 포함할 수 있다.
[00102] 온-라인 실내/실외 맵 서비스 제공자들은 자신들의 맵 데이터베이스에 액세스하기 위한 웹 API(Application Programming Interface)들을 제공할 수 있다. 그에 따라서, 맵 제공자로부터의 대응하는 API들은 사용자의 현재 위치를 포함하는 영역에 대한 맵 정보를 획득하기 위해 사용될 수 있다. 대응하는 맵 정보를 가질 수 있는 장소들의 특히 주목할 만한 예들은 실내 환경들, 이를테면 사무실 건물들, 병원들, 쇼핑몰들, 컨퍼런스 센터 전시실들, 소매 상점들 등을 포함한다. 이 맵 정보는 맵 모듈(124)에 의한 맵 정보의 사용을 용이하게 하기 위해 프리프로세싱될 수 있다. 예컨대, 정보는 API들을 사용하여 본 개시내용의 기법들에 사용되는 필수적인 맵 데이터를 추출하기 위해 디코딩될 수 있고, 통합 포맷 이를테면 GeoJson(Geographic Javascript Objective Notation) 포맷으로 변환될 수 있지만, xml 파일들, 이진 파일들 및 다른 것들이 사용될 수 있다. 그 다음, 변환된 맵 데이터는 향후 사용을 위해 로컬 저장소에 저장될 수 있다. 디코딩 및 변환은 외부 자원들에 의해 수행될 수 있고, 맵 모듈(124)에 의한 사용을 위해 적절한 방식으로 전달될 수 있다. 일반적으로, 각각의 장소에 대해 프리프로세싱 동작들이 수행되는 횟수를 최소화시키는 것이 바람직하다. 예컨대, 맵 정보는 주어진 장소에 대해 적절하게 한번 포맷될 수 있고, 그 장소 내의 내비게이션 솔루션을 향상시키기 위한 가설들의 생성 시에 사용되도록 임의의 수의 휴대가능 디바이스들에 분산될 수 있다. 그러나, 새로운 정보가 이용가능해지는 경우 또는 장소에 대한 변화들이 발생하는 경우 다른 프리프로세싱 동작이 수행될 수 있다.
[00103] 추가로, 맵 정보를 프리프로세싱하는 것은 이를 횡단가능한 및 횡단불가능한 지역들로 분리시키는 것을 포함할 수 있다. 예컨대, 복도들은 통상적인 실내 환경들에서 중요한 부류의 횡단가능한 지역들을 표현한다. 따라서, 맵 정보를 다각형 기반 지오메트릭 맵으로서 제시하기 위해 복도 정보가 이용가능하지 않으면, 백그라운드 엔티티들로부터 복도 형상 정보를 추출하기 위해 복도 클리핑 기능이 수행될 수 있다. 많은 종래의 맵 서비스 제공자들은 실내 맵 보조 알고리즘에서 중요한 복도 형상 정보를 제공하지 않는다. 따라서, 장소에 존재할 수 있는 복도들의 형상을 획득하기 위한 적절한 기법은 백그라운드 엔티티로부터 모든 다른 엔티티들을 추출하는 것을 포함할 수 있다. 백그라운드 엔티티는 주어진 건물 또는 건물의 레벨 또는 다른 장소를 설정하는 경계 윤곽일 수 있다. 포어그라운드 엔티티들은 모든 오브젝트들, 이를테면 상점들, 엘리베이터들, 에스컬레이터들 및 경계 윤곽 내의 다른 장애물들을 포함한다. 본원에서 사용되는 바와 같은 클리핑 프로세스는 특정 '클리핑' 윈도우 외부에 있는 그러한 부분들을 2-차원 지오메트릭 형상들의 세트로부터 커팅하는 프로세스를 지칭한다. 이것은 대상 다각형(백그라운드 엔티티)을 클리핑 다각형(백그라운드 엔티티들의 상단 상의 다른 포어그라운드 엔티티들)과 교차시킴으로써 달성될 수 있다. 다각형들은 꼭짓점들의 시퀀스에 의해 정의될 수 있고, 임의의 곡선들은 라인 세그먼트들의 적합한 세트로서 표현될 수 있다.
[00104] 백그라운드로부터 모든 다른 엔티티들을 반복적으로 클리핑한 후, 복도 다각형이 획득될 수 있다. 홀들을 갖는 비교적 복잡한 다각형들을 수용하기 위해, 적절한 클리핑 알고리즘들, 예컨대, Vatti 클리핑 알고리즘이 구성될 수 있다. 클리핑 알고리즘의 결과들의 예시는 대표적인 다각형 기반 지오메트릭 실내 맵에 대한 도 7에 도시되어 있다. 맵의 일부에 대한 백그라운드 엔티티(700)는 파선으로 표현된다. 미세한 라인들을 갖는 다각형들, 이를테면 다각형(702)(다른 것은 명확성을 보존하기 위해 라벨링되지 않음)으로서 표현된 포어그라운드 엔티티들은 백그라운드 엔티티(700)의 상단 상에서 클리핑된다. 굵은 선으로 표현된 결과적 다각형(704)은 복도의 형상을 제공한다. 결과적 복도 형상은 복잡한 다각형으로 표현될 수 있다. 본원에서 사용되는 복잡한 다각형은 하나의 또는 다수의 홀들을 내부에 갖는 (자체-교차 없는) 다각형이다.
[00105] 아래에서 설명될 바와 같이, 일부 맵 엔티티들은 고유한 포지션 정보, 이를테면, 레벨 변화 시나리오들과 연관될 수 있는 엘리베이터들, 에스컬레이터들, 계단들 또는 헤딩 또는 다른 포지션 정보의 가정을 허용할 수 있는 컨베이어들을 제공할 수 있다. 백그라운드 맵 엔티티에 대한 입구들 및 출구들 뿐만 아니라 포어그라운드 엔티티들에 대한 도어들 또는 다른 입구들/출구들의 위치들이 또한 사용될 수 있다. 또한 추가적으로, 가설들을 생성하는 경우 입구들/출구들의 방향이 또한 사용될 수 있다. 멀티-레벨 장소에서, 각각의 레벨의 높이는, 레벨 변화 시나리오가 언제 존재할 수 있는지를 결정하는 것을 돕기 위해 고도에서의 변화들을 표시하는 센서 정보와 함께 사용될 수 있다.
[00106] 또한, 프리프로세싱은 맵 모듈(124)에 의해 사용되는 경우 계산 효율성을 개선하기 위해 맵 엔티티들의 하나 또는 그 초과의 형상들을 작은 더 단순한 다각형들로 분해하는 것을 포함할 수 있다. 비교적 복잡한 다각형들을 더 단순한 사다리꼴들로 분해하기 위해 사다리꼴 분해가 사용될 수 있는 한편, 비교적 복잡한 다각형들을 더 단순한 볼록 다각형들로 파티셔닝하기 위해 볼록 분해가 사용될 수 있다. 분해 프로세스 이후 감소된 수의 다각형들을 생성하기 위해 최적의 분해 알고리즘들이 적용될 수 있다. 분해 방법들 중 임의의 하나 또는 조합이 이용될 수 있다.
[00107] 맵 정보를 프리프로세싱하는 것은 또한 연결된 링크들 및 노드들을 갖는 실내 맵들의 횡단가능한 영역들을 추출하는 것을 포함할 수 있다. 연결된 링크들 및 노드들은 맵의 지오메트릭 및 토폴로지컬 정보 둘 모두를 포함할 수 있다. 따라서, 맵 모듈(124)은 업데이트된 추정된 포지션 정보의 생성을 개선하기 위해 토폴로지컬 정보로부터 이익을 얻을 수 있다. 여기서 사용되는 바와 같이, 연결된 링크들 및 노드들로부터 구성되는 맵은 그리드 맵으로 지칭될 수 있다. 그리드 맵을 생성하기 위해, 예컨대, 가능한 일부 다른 프로세싱을 갖는 보로노이 다이어그램을 사용하는 것에 의한 것과 같은 임의의-적절한 기법이 사용될 수 있다. 그리드 맵을 생성하는 다른 예는 가능하게는 일부 맵 엔티티 타입들과 함께 직접적으로 맵으로부터 횡단가능한 및 횡단불가능한 영역들의 지오메트리를 사용하는 것이다. 예시적인 그리드 맵은 도 8에 예시된다. 도시된 바와 같이, 맵 노드들을 표현하기 위해 점들, 이를테면 점들(800)이 사용될 수 있다. 파선들은 연결된 링크들, 이를테면 점들(800)간의 링크(802)를 표현하고, 맵 엔티티들은 실선 다각형들(이를테면 804)로 표현된다. 노드는 그에 가장 가까운 3개 또는 그 초과의 맵 엔티티들까지 동일한 거리를 갖는, 맵 상의 포인트이다. 다각형 기반 지오메트릭 맵들에서와 같이, 그리드 맵은 업데이트된 추정된 포지션 정보가 결정될 때마다 프리프로세싱할 필요 없이, 외부 프로세싱 자원들에 의해 오프라인으로 프리프로세싱될 수 있고 맵 모듈(124)에 의해 후속적인 사용을 위해 맵 파일에 저장될 수 있다.
[00108] 다각형 기반 지오메트릭 맵 및 그리드 맵 둘 모두는 맵 모듈(124)에 의해 제공되는 업데이트된 추정된 포지션 정보의 신뢰성 및 정확도를 개선하기 위해 적용될 수 있다. 예컨대, 소매 상점 맵은 구조화된 영역들 및 비-구조화된 영역들로 쉽게 분할될 수 있다. 오픈 공간들, 격리된 부스들 등과 같은 그러한 비-구조화된 영역들에서, 위에서 설명된 지오메트릭 기반 기법들이 적용될 수 있다. 대안적으로 또는 부가하여, 정렬된 선반들 또는 부스들과 같은 구조화된 영역들에서, 맴 모듈(124)은 그리드 맵에 의해 표현되는 지오메트릭 및 토폴로지컬 정보를 채용할 수 있다.
[00109] 그에 따라서, 맵 모듈(124)의 맵 핸들러(130)는 위에서 설명된 바와 같은 오리지널 맵 정보와 함께 클립핑된 및 분해된 맵 정보를 포함할 수 있는 이전에 저장된 프리프로세싱된 맵 정보를 로딩하도록 기능할 수 있다. 맵 핸들러(130)는 휴대가능 디바이스(100)에 대한 포지션 가설들의 생성을 가능하게 하는 방식으로 이미 포맷된 맵 정보에 액세스할 수 있고, 필요에 따라, 정보를 리트리브할 수 있다. 프리프로세싱된 맵 정보로부터, 맵 핸들러(130)는 맵 프로젝션 파라미터들, 지오메트릭 형상들, 맵에서의 모든 엔티티들의 식별들(ID들) 및 타입 정보를 포함할 수 있는 내부 맵 데이터 구조를 초기화한다. 프로젝션 파라미터들, 예컨대 6-파라미터 아핀 변환은 위도및 경도에서의 및 맵에서의 좌표들 사이에서 변환하기 위해 사용될 수 있다. 엔티티 타입들은 백그라운드, 유닛, 에스컬레이터, 엘리베이터, 계단들 등과 같은 특정 엔티티들의 기능들을 설명한다. 형상 및 타입 정보 둘 모두는 가설 분석기(128)에 의해 사용될 수 있다. 맵 핸들러(130)는 또한, 효율적 검색 알고리즘이 맵에서의 관심 있는 범위 또는 관심 있는 포인트를 질의하기 위해 적용될 수 있도록, 공간 데이터베이스에서 맵 지오메트릭 정보를 조직할 수 있다. 예컨대, R-트리 구조가 맵 엔티티들의 효율적 및 신속한 검색을 위해 사용될 수 있다. 인지될 바와 같이, R-트리 검색 알고리즘은 맵에서 주어진 포인트를 로케이팅할 수 있고, 대응하는 맵 엔티티에 포인터를 리턴할 수 있다.
[00110] 외부 프로세싱 자원들에 의해 수행되는 상황에서 설명되지만, 맵 정보를 프리프로세싱하는 것과 연관된 기능들 중 임의의 것 또는 전부가 원하는 대로 맵 핸들러(130)에 의해 수행될 수 있다.
[00111] 도 6에 의해 표시된 바와 같이, 포지션 추정기(126) 및 맵 핸들러(130) 둘 모두로부터의 출력들은 가설 분석기(128)로 피드된다. 특히, 포지션 추정기(126)는 에러 지역을 정의하기 위해 사용되는 포지션 및 분산 추정들의 형태로 추정된 포지션 정보를 제공할 수 있다. 가설 분석기(128)는 사용자가 이동하고 있는 가능한 엔티티들을 식별하기 위해 프로세싱된 맵 상에 에러 지역을 중첩시키거나 또는 프로젝팅한다. 가설 분석기(128)는 아래에서 설명되는 것들을 포함하는 임의의 적절한 의사 결정 로직들에 기반하여 가설들을 유지, 생성, 제거, 및 조합한다. 가설 분석기(128)는 또한, 토폴로지컬 및 경험적인 정보에 기반하여 모든 현재 이용가능한 가설들에 대해 가중치들을 할당할 수 있다. 그러한 가중치들은 가설들을 조합 또는 제거하기 위해, 그리고 이를테면, 추정된 포지션을 업데이트하기 위해 가중된 평균을 생성하는 것에 의해 가설들을 조합하기 위해 사용될 수 있다.
[00112] 주목된 바와 같이, 가설 분석기(128)는 가설들을 유지, 생성, 삭제, 및 조합한다. 가설은 포지션, 속도, 헤딩, 모션 모드, 맵 엔티티에 의해 점유된 포지션 분산 등과 같은 임의의 원하는 대응하는 속성들을 갖는 사용자의 가능한 위치를 지칭한다. 다양한 가설들에 적용되는 의사 결정 로직은 다음의 예들에서 표시되는 바와 같은 사용자 동작 시나리오들에 기반하여 선택될 수 있다.
[00113] 가설 관리를 위한 의사 결정 로직의 다수의 구현들은 에러 지역의 개념을 채용한다. 인지될 바와 같이, 에러 지역은 포지션 추정기(126)에 의해 결정되는 휴대가능 디바이스(100)의 가능한 포지션(들)의 불확실성을 표현한다. 원하는 대로, 에러 지역은 직사각형, 서클, 타원, 임의의 다각형, 또는 임의의 다른 형상을 정의할 수 있다. 포지션 추정기(126)와 함께 Kalman 필터가 사용되는 경우에, "에러 타원"이 사용될 수 있다. 에러 타원의 파라미터들은 긴 반지름 길이(a) 및 짧은 반지름 길이(b)를 포함하고, 배향(α)은 미리 정의된 신뢰 레벨 및 Kalman 필터의 공분산 행렬로부터 유도될 수 있다. 예컨대, 95% 신뢰 레벨이 포지션 불확실성을 적절하게 커버하기 위해 사용될 수 있지만, 원하는 성능 특성들에 따라 다른 값들이 채용될 수 있다. 대응하여, 에러 타원 파라미터들이 수학식(1)에 의해 주어질 수 있다.
Figure pct00001
여기서,
Figure pct00002
Figure pct00003
는 공분산 행렬의 고유값들을 표현하고,
Figure pct00004
은 가장 큰 고유값을 갖는 공분산 행렬의 고유벡터를 표현한다. 연산 로드를 감소시키기 위해, 에러 타원은 타원의 에지 주위에 균등하게 분배되는 32개의 꼭짓점들과 같은 수개의 꼭짓점들을 갖는 다각형으로 근사화될 수 있다.
[00114] 입자 필터가 사용되는 경우에, 포지션 추정들의 샘플들은 에러 지역을 근사화한다. 그러나, 가설들을 조합 및 제거하기 위해, 에러 타원 또는 다른 지역이 가설 분석기(128)에서 여전히 요구된다. 따라서, 공분산 행렬은 포지션 샘플 데이터로부터 유도될 수 있다. 그 후에, 에러 타원의 파라미터들이 Kalman 필터 모드에서와 같이 계산될 수 있다. 예시하기 위해, 도 9는 95% 신뢰 레벨을 사용하여 입자 필터로부터 유도된 에러 타원의 예를 도시한다. "+" 심볼들은 근사화된 에러 타원(900)의 꼭짓점들을 표시한다.
[00115] 에러 지역의 상황을 참조로, 다양한 의사 결정 로직 접근법들은 가설들을 관리하기 위하여 적용될 수 있다. 제 1 예는 벽 교차 이벤트를 가지는 시나리오에 대응한다. 각각의 가설은 휴대가능 디바이스(100)와 연관된 현재 맵 엔티티를 표시하기 위하여 자기 자신의 점유 필드를 가질 수 있다. 도 10에 도시되는 바와 같이, 포지션 추정기(126)는 후보 가설들을 획득하기 위하여 맵 레이아웃에 겹쳐지는 에러 지역을 사용한다. 에러 지역과 현재 점유된 엔티티 외의 맵 엔티티들 간에 어떠한 오버랩핑 영역도 검출되지 않으면, 가설 분석기(128)는 임의의 추가 동작들을 수행할 필요가 없다. 그러나, 에러 지역이 다수의 맵 엔티티들과 교차하는 경우, 교차되는 엔티티들의 속성들은 교차 테이블로 삽입된다. 오버랩핑 검출은 에러 타원에 대한 대략적 다각형으로부터의 꼭짓점들의 위치를 반복적으로 검사함으로써 수행될 수 있다. 공간 탐색 알고리즘, 예컨대, R-트리 탐색 및 다각형-내-포인트 알고리즘들은 에러 타원의 각각의 꼭짓점에 대한 맵 엔티티를 발견하기 위하여 적용될 수 있다. 모든 꼭짓점들이 현재 가설의 점유와 동일한 맵 엔티티 상에 있으면, 어떠한 오버랩핑도 선언되지 않는다. 그렇지 않으면, 새로운 가설 후보는 교차 리스트에 추가될 것이다. 각각의 가설이 자기 자신의 교차 리스트를 유지한다는 점이 주목된다. 현재 가설은 부모 가설이라 칭해질 수 있는 반면, 모든 후보 가설들은 자식 가설들이라 칭해질 수 있다.
[00116] 교차 영역이 적절한 임계치, 이를테면, 에러 타원의 총 영역의 거의 10%를 초과하면, 새로운 가설 후보는 추가 분석을 겪을 수 있고, 그렇지 않으면 그것은 교차 리스트로부터 제거될 것이다. 그 다음, 가설 분석기(128)는 현재 가설의 점유와 상이한 교차 리스트에서 모든 후보들을 분석할 수 있다. 새로운 후보 가설의 초기 포지션은 포지션 추정기(126)로부터의 현재 포지션 추정치에 의해 주어진다. 그러나, 이 포인트가 오버랩핑 다각형의 범위 내에 있지 않으면, 오버랩핑 다각형의 중심 모멘트들은 대신에 새로운 가설의 초기 포지션으로서 사용될 수 있다.
[00117] 후속적으로, 벽 교차 검출이 수행될 수 있다. 벽 교차 이벤트의 로직들은 룸 도어 정보가 이용가능한지 여부에 기반한다. 도어 정보가 이용가능하면, 알고리즘은 도 11에 개략적으로 표시되는 바와 같이 후보 가설의 초기 포지션과 도어의 포지션 사이의 거리를 평가할 수 있다. 거리가 미리 정의된 임계치, 이를테면, 2 미터 내에 있으면, 벽 교차 이벤트가 선언될 수 있다. 그 다음, 룸 도어의 중심 포지션은 새로운 후보 가설의 초기 포지션으로서 사용될 수 있다. 다음으로, 유효성 검사는 새로운 가설의 초기 포인트가 다른 현재 이용가능한 가설들의 범위 내에 있는지 여부를 결정하도록 수행될 수 있다. 후속적 동작들은 특정 구현에 따라 조정될 수 있다. 입자 필터를 사용하는 경우, 예컨대, 새로운 가설은 새로운 맵 엔티티 내에 상주하는 입자들 전부를 이용하여 생성되고, 가설 리스트에 추가될 수 있다. 새롭게 생성된 가설의 포지션을 제외한 모든 다른 속성들은 부모 가설로부터 이어받을 수 있다. Kalman 필터를 사용하는 경우, 예컨대, 어떠한 새로운 가설 생성 및/또는 제거도 수행되지 않고, 부모 가설의 포지션 및 점유 필드들이 업데이트될 수 있다.
[00118] 룸 도어 정보가 이용가능하지 않으면, 에러 타원의 교차 에지와 관심있는 맵 엔티티 간의 각도 및 사용자의 헤딩은 사용자가 도 12에 개략적으로 표시되는 바와 같이 새로운 엔티티로 진입할 수 있는 가능성을 표시할 수 있다. 현재 가설의 헤딩이 룸의 에지와 거의 평행하면, 교차는 삐뚤어진 내비게이션 솔루션으로부터 발생할 수 있다. 이러한 경우, 오버랩핑 영역이 적합한 값, 이를테면, 거의 45%를 초과하면, 교차 포인트로부터의 미리 정의된 양, 이를테면, 거의 0.5 미터의 오프셋을 가지는 새로운 가설이 생성되고, 부모 가설은 삭제된다. 한편, 오버랩핑 영역이 미리 정의된 양 미만이면(그리고 선택적으로 사용자의 요 다이나믹스(yaw dynamics)가 작으면), 교차 에지의 배향은 부모 가설의 헤딩을 업데이트하는데 사용될 수 있다. 현재 가설의 헤딩이 벽의 에지와 거의 수직이면, 가능한 벽-교차 이벤트가 선언된다. 대응적으로, 룸 도어 정보가 이용가능한 경우와 유사한 프로세스가 수행될 수 있다.
[00119] 가설 분석기(128)는 또한 가설의 점유의 트랜지션을 검사한다. 사용자가 복도에 자유롭게 들어가고 나갈 수 있다고 가정된다. 그러나, 상점들 간에 도어들을 갖는 것이 일반적이지 않다는 점을 반영하기 위하여 유닛-간 교차는 금지되거나 또는 최소 가중치를 할당받는다. 또한, 가설 분석기(128)는 또한, 이 트랜지션 모델 또는 경험적 모델에 기반하여 가설들의 가중치들을 할당할 수 있다.
[00120] 가설들을 관리하기 위한 다른 예시적인 결정 로직은 레벨 변화 이벤트가 발생하는 경우 적용될 수 있다. 사용자가 계단을 오르거나 또는 내리고, 엘리베이터 또는 에스컬레이터를 타면, 내비게이션 모듈(120)은 현재 사용자 모션 모드/상황(이를테면, 엘리베이터, 계단, 걷기, 에스컬레이터에서 걷기 또는 에스컬레이터에 서기)를 식별하기 위하여 대응하는 모션 모드 및/또는 상황 표시자를 검출하도록 루틴을 수행할 수 있다. 레벨 변화 이벤트가 검출되는 경우, 가설 분석기(128)는 검출된 모드에 따라 충분히 인근에 있는 맵 정보 내의 맵 엔티티들, 이를테면, 계단, 엘리베이터 또는 에스컬레이터 입구들에 대한 탐색을 위한 현재 내비게이션 솔루션을 사용할 수 있다. 예컨대, 엘리베이터 모드가 내비게이션 솔루션으로부터 검출되면, 가설 분석기(128)는 맵 상의 인근 엘리베이터 입구에 대해 탐색할 수 있다. 입구가 현재 사용자 포지션으로부터 소정의 거리 내에 있으면, 가설 분석기(128)는 대응하는 결정 로직을 적용하기 위하여 정상 상태로부터 레벨 변화 상태로 트랜지션할 수 있다. 거리 임계치는 비-제한적 예로서 10 m일 수 있다. 추가로, 선택된 값은 내비게이션 솔루션에 대한 정확도에 따라 튜닝될 수 있다.
[00121] 레벨 변화 이벤트의 검출과 관련하여, 가설 분석기(128)는 그의 동작을 조정하기 위해 정상 상태로부터 레벨 변화 상태로 트랜지션할 수 있다. 원하는 경우, 레벨 변화 거짓 알람을 방지하기 위해 검증 프로세스가 수행될 수 있다. 프로세스 동안, 가설 분석기(128)는 정상 상태와 유사한 기법들을 사용하여 초기에 사용자 포지션을 전파할 수 있다. 검증 프로세스는 상태 변화를 검증하기 위한 메트릭으로서 레벨 변화 상태에 진입할 때 에포크와 현재 에포크 간의 높이 차이를 사용할 수 있다. 소정의 시간 내에, 임계치, 이를테면, 비-제한적인 예로서 2.0 m 초과의 높이 차이가 검출되면, 레벨 변화 상태로의 트랜지션이 검증될 수 있다. 그렇지 않으면, 검출이 거짓 알람으로서 취급될 수 있고, 정상 상태로 되돌아가게 한다.
[00122] 레벨 변화의 성공적인 검증이 주어지면, 가설 분석기(128)는 모든 가설을 제거하고 식별된 레벨 변화 입구 정보를 사용하여 새로운 가설을 생성할 수 있다. 가설 및/또는 헤딩의 초기 포지션은 대응하는 맵 엔티티의 입구 포지션에 의해 설정될 수 있다. 새로운 레벨에 대응하는 맵 정보가 그 후 사용될 수 있어서, 새로운 레벨이 높이 차이의 부호에 따라 이전 레벨보다 높거나 낮은 것으로 식별된다. 이어서, 가설 분석기(128)의 상태는 마무리 상태로 트랜지션할 수 있다. 검증 프로세스가 실패하면, 상태는 다시 정상 상태로 돌아간다.
[00123] 마무리 상태에서, 가설 분석기(128)는 내비게이션 모듈(120)에 의해 제공된 모션 모드를 모니터링할 수 있다. 보행 상태가 검출되면, 가설 분석기(128)는 레벨 변화 엔티티의 출구 포지션으로 현재의 가설의 포지션을 리셋하고 도 13에 개략적으로 도시된 바와 같이 정상 상태로 복귀할 수 있다. 가설(1300)은 내비게이션 솔루션에 의해 제공된 포지션 추정에 대응할 수 있는 반면, 가설(1302)은 엘리베이터(1304)를 나가는 가정에 기초하여 업데이트된 포지션 추정을 반영할 수 있다. 그렇지 않으면, 가설 분석기(128)은 사용자 포지션을 계속 전파할 수 있다. 알고리즘은, 그것을 나간 후 레벨 변화 엔티티 레이아웃에 따라 가설의 헤딩을 리셋하지 않는다는 것이 주목될 것이다. 이는, 모션 모드의 검출 지연으로 인해 사용자 헤딩이 이미 변화되었을 수 있기 때문이다. 도 13에 도시된 바와 같이, 엘리베이터의 도어는 우측(0 °)에 있지만, 사용자 헤딩은 엘리베이터를 나온 후 약 -90 °에 있다.
[00124] 앞서 설명한 모션 모드들 및/또는 상황 인식 시나리오들(이를테면, 사용자가 계단을 올라가거나 내려가고, 엘리베이터들 또는 에스컬레이터들을 탈 때) 외에도, 컨베이어(무빙 워크웨이)에서 걷거나 서있는 것, 무선 비콘 또는 다른 무선 RF(radio frequency) 태그들 등 근처에서 걷는 것과 같은 임의의 다른 동작 모드들 및/또는 상황들이 가설 분석기(128)의 동작을 조정하는데 사용될 수 있다. 시스템이 이러한 모션 모드들 또는 상황 인식 시나리오들을 자율적으로 검출하면, 본원에서 제시된 맵 정보 기법들은 엔티티들을 맵핑하도록 이것들을 관련시킬 있다. 이로부터 혜택을 누릴 수 있는 방법들이 있는데, 이를테면, (i) 내비게이션 모듈(120)은 맵 모듈(124)에 의해 제공된 맵 엔티티와 관련된 모션 모드/상황을 검출할 수 있고 맵 엔티티의 위치에 대한 내비게이션 솔루션(특히 포지션 및 선택적으로 헤딩)을 향상시킬 수 있고; (ii) 내비게이션 모듈(120)은 암시적 모션 모드와 연관된 센서 데이터 패턴들의 인식을 보조하는데 사용될 수 있는 모션 모드 및/또는 상황을 의미하는 맵 모듈(124)에 의해 제공된 맵 엔티티를 수신할 수 있다.
[00125] 예를 들어, 내비게이션 모듈(120)이, 사용자가 컨베이어 상에서 걷거나/서있다는 것을 검출할 때, 가설 분석기(128)는 맵 정보에서 인근 컨베이어를 탐색할 수 있다. 인근 컨베이어가 발견되면, 초기 포지션으로서 컨베이어 입구 및 초기 헤딩으로서 컨베이어의 배향으로 하여 새로운 가설이 생성될 수 있고, 다른 모든 가설들을 제거한다. 사용자가 컨베이어를 나갈 때 레벨 변화 이벤트에 관해 적용된 것과 유사한 프로세스가 적용된다. 이러한 상황 기반 2D 포지션 조정은 PDR로부터의 축적된 에러를 감소시킬 수 있고, 따라서 내비게이션 모듈(120)의 성능을 향상시킨다. 반면에, 가설 모듈의 에러 영역이 컨베이어, 엘리베이터 또는 에스컬레이터와 같은 특정 맵 엔티티의 위에 있을 때, 내비게이션 모듈(120)이 대응하는 모션 모드를 검출하기 전에, 이 정보는 내비게이션 모듈(120)에 제공되어 특정 검출의 감도를 증가시키고 성공 레이트를 향상시킬 수 있다.
[00126] 유사한 프로세스는 사용자가 주차장에서 식별될 때 보행/주행 모션 모드 검출 시나리오에 적용될 수 있다. 예를 들어, 가설 포지션이 주차장 위에 있는 경우, 이 정보는 주행/보행 검출 모듈의 감도를 향상시키기 위해 내비게이션 시스템에 제공될 수 있다.
[00127] 또 다른 예시적인 시나리오는 무선 비콘 또는 RF 태그들로부터의 업데이트들을 포함한다. 정보 데스크 또는 상점의 입구에 무선 비콘 또는 RF 태그가 장착되어 있는 경우, 휴대가능 디바이스는 그것이 충분히 가까울 때 이러한 무선 태그들로부터 정보를 수신할 수 있다. 이 경우에, 상점 입구 또는 정보 데스크의 포지션은 가설의 포지션을 업데이트하는데 사용될 수 있다.
[00128] 주목한 바와 같이, 포지션 추정기(126)는 맵 정보에 의해 보조되는 향상된 포지셔닝 추정들을 생성하기 위해 내비게이션 모듈(120)로부터의 출력 및 가설 분석기(128)로부터의 결과들을 활용할 수 있다. 가설 분석기(128)는 다음 에포크에 대한 가설을 생성, 제거 또는 조합하도록 이들 포지션 추정들을 사용한다. 또한, 포지션 추정기(126)는 내비게이션 모듈(120)에 대한 피드백을 생성한다. 피드백은 모든 가설들로부터 포지션들 또는 헤딩들의 가중된 평균 및 맵 엔티티 정보를 포함할 수 있다. 포지션 및 헤딩 피드백들은 자이로(gyro) 바이어스 및 오정렬 각도 추정들을 향상시키고 이에 따라 포지셔닝 정확도를 증가시킬 수 있다. 위에서 언급된 바와 같이, 맵 엔티티 정보는 성공 레이트를 향상시키고 내비게이션 솔루션에서 모션 검출의 지연을 감소시킬 수 있다. 포지션 및 헤딩의 표준 편차는 또한 내비게이션 모듈(120)에 대한 피드백으로서 제공될 수 있다. 표준 편차들은 경험적 또는 토폴로지컬 모델들에 따라 적응적으로 튜닝될 수 있다. 예를 들어, 이들은 가설의 수 또는 위치 추정들의 불확실성에 기초하여 조정될 수 있다.
[00129] 내비게이션 모듈(120)에 의해 제공되는 내비게이션 솔루션으로부터의 입력 헤딩은 플랫폼 헤딩인 것으로 예상될 수 있고, 디바이스 헤딩과 추정된 오정렬 각도 간의 차이로부터 유도될 수 있다. 일부 상황들에서, 이러한 내비게이션 솔루션으로부터의 유도된 플랫폼 헤딩은 휴대가능 디바이스의 사용 경우에 따라 주기적인 헤딩 진동을 나타낼 수 있다. 사용 경우는 휴대가능 디바이스와 사용자 간의 상호작용의 타입의 특성화이고, 사용자가 디바이스를 들고 있는지, 흔들고 있는 팔로 또는 "댕글링(dangling)"으로 디바이스를 잡고 있는지, 말을 할 때 디바이스를 "귀에" 포지셔닝시키고 있는지, 데이터를 입력하고 있는지 또는 내비게이션으로 보고 있는지 또는 텍스팅 동작을 하고 있는지, 포켓으로 또는 다른 컨테이너 또는 홀더로 디바이스를 휴대하고 있는지 여부, 및 사용자에 대한 디바이스의 배향에 영향을 미치는 디바이스의 다른 사용법들을 포함할 수 있다. 예컨대, 포켓 또는 댕글링 사용 경우들은 주기적인 모션 컴포넌트를 가질 수 있다. 플랫폼 헤딩의 주기적인 진동을 제거하기 위해, 로우 패스 필터가 적용될 수 있다. 예컨대, 0.5 Hz 컷-오프 주파수를 갖는 5차 로우 패스 필터가 이용될 수 있다. 헤딩 진동을 제거하는 것의 예시적인 결과는, 트레이스(1400)에 의해 표시된 오직 내비게이션 솔루션만 있는 경우의 결과 및 트레이스(1402)에 의해 표시된 로우 패스 필터링에 후속하는 향상된 내비게이션 솔루션의 결과와 함께 도 14에 개략적으로 예시된다.
[00130] 지오메트릭 맵 정보의 상황에서 주로 설명되었지만, 대안적으로 또는 부가하여, 위의 기법들은 그리드 맵으로서 표현된 맵 정보로 사용될 수 있다. 예컨대, 사용자 포지션은 포지션-대-커브 또는 커브-대-커브 매칭을 사용함으로써, 연결된 링크들 및 노드들에 프로젝팅될 수 있다. 구현 및 유지보수를 용이하게 하기 위해 2개의 기법들이 조합될 수 있다. 그리드 맵은 또한, 사용자의 궤도와 그리드 맵의 토폴로지컬 피처들 간의 상관에 기반한 가중된 토폴로지컬 알고리즘을 사용함으로써 보다 신뢰가능한 가설들을 유도하도록 가설 분석기(128)를 보조하기 위해 사용될 수 있다. 필드 테스트 데이터의 통계 분석으로부터 획득될 수 있는 미리 정의된 임계치들을 충족시키지 않는 세그먼트들을 제거하기 위해 임의의 적절한 조건 테스트 또는 테스트들이 적용될 수 있다. 지오메트릭 기법들에 대해서와 같이, 모호성들이 존재하는 경우, 사용자 모션 불확실성을 고려하기 위해 다수의 가설들이 생성될 수 있다. 예컨대, 사용자 모션 불확실성은 축적된 보폭 길이 에러, 사용자 헤딩 에러, 및 다른 것들에 의해 야기될 수 있다. 그러므로, 소정의 시간 기간 동안 다수의 가설들이 병렬로 실행될 수 있다. 낮은 가중치들을 갖는 가능성이 낮은 가설들은 제거될 수 있다. 추가로, 그리드 맵을 이용하여, 가설의 토폴로지컬 히스토리를 분석함으로써 개선된 가설 가중치 방식이 이용될 수 있다. 개선된 불확실성 추정은 모든 가설들의 정보의 가중된 평균을 사용하여 계산될 수 있다. 따라서, 더 정확한 사용자 포지션 불확실성 추정이 획득될 수 있다.
[00131] 본 개시내용의 기법들에 따른 가설들의 포지션을 업데이트하기 위해 다양한 필터들, 모션 및/또는 측정 모델들이 사용될 수 있다. 아래에서 설명된 4개의 예시적인 방법들은, 원하는 경우 다른 필터들 및/또는 모델들이 이용될 수 있지만, 예측 전용 Kalman 필터, 거의 일정한 속도 Kalman 필터, 예측 전용 입자 필터, 및 거의 일정한 속도 입자 필터를 이용한다.
[00132] 예측 전용 Kalman 필터를 이용하는 제 1 예로서, 현재 이용가능한 가설들 전부에 대한 시스템 상태들을 예측하기 위해, 내비게이션 모듈(120)에 의해 제공되는 통합 내비게이션 솔루션으로부터의 출력들이 사용될 수 있다. 3개의 상태들이 각각의 가설에 대한 시스템 상태들로서 사용될 수 있으며, 맵 좌표들에서의 포지션 에러(
Figure pct00005
,
Figure pct00006
) 및 헤딩 에러
Figure pct00007
가 포함된다. 추가로,
Figure pct00008
은 n-번째 가설에 대한 시스템 상태들을 표현하고, 포지션 및 헤딩 에러 둘 모두는 수학식 (2)에 의해 표시되는 바와 같은 랜덤 워크로서 모델링될 수 있다:
Figure pct00009
[00133] 그러므로, 시스템 모델들의 하나의 형태는 수학식 (3)에 도시된 바와 같이 유도될 수 있다:
Figure pct00010
여기서,
Figure pct00011
는 사용자 헤딩이고;
L은 보폭 길이(이는, 내비게이션 솔루션으로부터의 인접 에포크들에 있는 2개의 포지션들 간의 변위를 계산함으로써 획득될 수 있음)이고;
Figure pct00012
는 보폭 길이 드라이빙 잡음이고; 그리고
Figure pct00013
는 헤딩 에러의 드라이빙 잡음이다.
[00134] 포지션 및 보폭 길이는 맵 좌표 프레임에서 계산될 수 있다는 것이 주목된다. 위도 및 경도에서의 포지션은 아핀 변환을 사용하여 맵 프레임으로 변환될 수 있다. 변환 매트릭스는 6개의 파라미터들을 갖고, 이들은 불러온 맵 데이터로부터 획득될 수 있다. 예측 전용 방법에서는 어떠한 측정 업데이트도 사용될 필요가 없다.
[00135] 따라서, 시스템 상태들의 전파는 수학식 (4)에 의해 주어질 수 있다:
Figure pct00014
여기서, k 및 k+1은 2개의 연속적인 에포크들을 표현하고, "
Figure pct00015
"는 예측된 값을 표현하고, "
Figure pct00016
"는 가장 양호한 추정된 값을 표현하고,
Figure pct00017
는 현재 에포크에서의 통합 솔루션으로부터의 헤딩 증가를 표현한다.
[00136] 거의 일정한 속도 가설 모델을 이용하는 제 2 예로서, 내비게이션 모듈(120)로부터의 출력들은 모든 이용가능한 가설들에 대해 시스템 상태들을 업데이트하기 위한 의사 측정들로서 사용된다. 시스템은 속도 랜덤 보행으로서 모델링될 수 있다. n-번째 가설에 대한 시스템 상태들은 예측 전용 모델의 시스템 상태들과 동일하다. 속도 에러는 랜덤 보행, 랜덤 상수 또는 1차 가우시안-마르코프 프로세스로서 모델링될 수 있다. 속도 랜덤 보행을 사용한 예시적 시스템 모델은 아래와 같은 수학식(5)에 의해 주어지며:
Figure pct00018
여기서,
Figure pct00019
는 맵 좌표들의 x-방향에서의 속도 에러이고;
Figure pct00020
는 맵 좌표들의 y-방향에서의 속도 에러이고;
Figure pct00021
는 x-축 속도 에러에 대한 드라이빙 잡음이고;
Figure pct00022
는 y-축 속도 에러에 대한 드라이빙 잡음이다.
[00137] 그에 따라, 시스템의 전파는 수학식(6)에 의해 주어질 수 있다:
Figure pct00023
인지될 바와 같이, 예측된 포지션은 마지막 에포크로부터의 최상의 추정된 속도에 의해 획득될 수 있고, 예측된 속도는 이전 에포크로부터 일정할 수 있는데, 즉, "일정한 속도" 모델이다.
[00138] 내비게이션 모듈(120)로부터의 포지션이 측정 업데이트로서 사용될 수 있기 때문에, 측정 모델은 수학식(7)으로서 표현될 수 있으며:
Figure pct00024
여기서,
Figure pct00025
는 측정 미스클로저(measurement misclosure)이고;
Figure pct00026
Figure pct00027
는 전파된 포지션이고;
Figure pct00028
Figure pct00029
는 내비게이션 솔루션으로부터 프로젝팅된 포지션 업데이트들이고; 그리고
Figure pct00030
Figure pct00031
는 측정 잡음이다.
[00139] 측정 잡음은 내비게이션 솔루션으로부터의 사용자 다이나믹스 및 포지션 정확도에 기반하여 적응적으로 튜닝될 수 있다는 것이 주목된다. 예컨대, 사용자가 직선으로 보행할 때(작은 요 다이나믹스), 측정 잡음이 더 높게 튜닝되어 시스템이 예측에 더 많이 의존할 수 있고, 터닝할 때, 측정 잡음이 더 낮게 튜닝되어 더 많은 가중치가 측정에 대해 위치될 수 있다.
[00140] 예측 전용 입자 필터를 이용하는 제 3 예는, 관심 상태들의 pdf(posterior density function)들을 근사화하기 위해 샘플 상태들 또는 입자들의 세트
Figure pct00032
를 사용할 수 있다. 여기서, 각각의
Figure pct00033
는 입자 필터의 사이즈인 1 내지 M의 범위의 인덱스(i)에 대한 콘크리트 상태 샘플이다. 따라서, 예는 비-가우시안, 다중-모델 pdf들에 대해 사용될 수 있다. 그것의 다수의 가설 성질은 맵 보조를 이용하여 그것을 실내 내비게이션에 또한 적합하게 만든다. Kalman 필터들과 유사하게, 입자 필터는 또한 예측 및 업데이트 상태들을 갖는다. 예측 전용 입자 필터는 단지 예측 상태만을 이용하는 것을 필요로 한다.
[00141] 예측 전용 입자 필터의 상태는 사용자의 포지션 및 헤딩일 수 있다. 초기화 프로세스 동안, 내비게이션 솔루션의 포지션 및 가변도에 따라 M개의 랜덤 샘플들이 도출된다. 예측은 시스템 모델에 의해 수학식(8)에 의해 표시된 바와 같이 수행되며:
Figure pct00034
여기서
Figure pct00035
Figure pct00036
의 가변도를 갖는 가우시안 잡음으로서 모델링될 수 있는 스텝 길이의 드라이빙 잡음이고; 그리고
Figure pct00037
Figure pct00038
의 가변도를 갖는 가우시안 잡음으로서 또한 모델링될 수 있는 사용자 헤딩의 드라이빙 잡음이다.
[00142] 가설 분석기(128)에 의해 새로운 가설이 생성될 때, 생성된 새로운 가설의 불확실성에 따라 새로운 샘플들이 현재의 샘플 세트에 부가될 수 있다는 것이 주목된다. 유사하게, 특정 가설이 제거될 때, 그 특정 가설의 대응하는 샘플들이 샘플 세트로부터 제거될 수 있다.
[00143] 거의 일정한 속도 입자 필터를 이용하는 제 4 예는, 사용자 포지션 및 속도에 대응하는 시스템 상태들과 함께, 거의 일정한 속도 다수의 가설 Kalman 필터와 유사한 개념을 이용할 수 있다. 예시적 시스템 모델은 수학식(9)에 의해 주어지며:
Figure pct00039
여기서 속도의 드라이빙 잡음은 의 가변도를 갖는 가우시안 잡음으로서 모델링될 수 있다. 측정 수학식은 거의 일정한 속도 다수의 가설 Kalman 필터에 대한 측정 수학식과 동일할 수 있다.
[00144] 본 개시내용의 기법들의 이익들을 예시하는 것을 돕기 위해, 맵 정보를 이용하여 내비게이션 솔루션을 향상시키는 것의 성능을 평가하기 위한 필드 테스트들이 수행되었다. 필드 테스트 동안, 핸드헬드 모드, 포켓 모드, 댕글링 모드, 및 다수의 모드들 간의 스위칭을 포함하는 다양한 사용 경우들에서 스마트폰들이 사용되었다. 테스트 궤적들은 복도 전용 시나리오, 입실 및 퇴실 시나리오, 및 레벨 변화 시나리오를 포함했다.
[00145] 도 15에 도시된 바와 같이, 예시적인 다수의 가설 복도 전용 시나리오의 결과들이 쇼핑몰의 상점들의 벽들을 따라 생성되었으며, 내비게이션 솔루션 전용의 결과는 트레이스(1500)에 의해 표시되고, 후보 가설들의 결과는 트레이스들(1502 및 1504)에 의해 표시된다. 사용자 헤딩과 교차 에지 간의 비교적 작은 각도로 인해, 벽 교차 이벤트들은 선언되지 않았다. 가설들 둘 모두가 벽을 따라 이동한다. 다음, 도 16은 사용자가 "L" 형상의 벽을 따라 걸을 때 가설들의 전파를 도시하며, 내비게이션 솔루션 전용의 결과는 트레이스(1600)에 의해 표시되고, 후보 가설들의 결과는 트레이스들(1602 및 1604)에 의해 표시된다. 맵 매치 솔루션에서 오프셋을 이용하여 새로운 가설이 정확하게 생성되었다. 벽 교차 이벤트의 예시적인 결과가 도 17에 도시되며, 내비게이션 솔루션 전용의 결과는 트레이스(1700)에 의해 표시되고, 향상된 내비게이션 솔루션의 결과는 트레이스(1702)에 의해 표시된다. 위에서 설명된 바와 같이, 일 실시예에서, 벽 교차 이벤트 동안 가설 생성 또는 제거가 수행되지 않았을 수 있다. 부모 가설은 단지 자신의 포지션 및 맵 엔티티 필드만을 업데이트한다. 다른 실시예에서, 부모 가설이 제거되고, 부모로부터 상속되는 다른 속성들과 함께 새로운 포지션 및 맵 엔티티 필드를 갖는 새로운 가설들이 생성될 수 있음이 주목된다.
[00146] 다음 시나리오에서, 핸드헬드 사용 경우에서, 사용자는 스마트폰을 갖고 쇼핑몰의 복도 주위를 걸었다. 트레이스(1800)로서 내비게이션 모듈(120) 및 트레이스(1802)로서 맵 모듈(124)의 포지션 추정기(126) 둘 모두로부터의 포지션 출력들이 도 18에 도시된다. "s"는 시작 지점을 표현하며, "e"는 종료 지점을 표현한다. 축적된 자이로 드리프트 때문에, 내비게이션 모듈(120)에 의해 제공되는 초기 내비게이션 솔루션은 삐뚤어진 출력들을 생성한다. 쇼핑몰 복도들을 따라 늘어서 있는 상점들의 벽들을 따라 다수의 가설들이 생성된 것으로 도시된다. 사용자 헤딩과 교차로 에지 간의 비교적 작은 각도로 인해, 벽 교차 이벤트는 선언되지 않았다. 맵 모듈(124)에 의해 제공되는 맵 정보 보조 헤딩은 벽들의 배향을 반영한다. 복도 전용 시나리오의 경우, 독립형의 통합된 내비게이션의 결과 및 피드백들이 없는 맵 보조 솔루션으로부터의 결과, 그리고 피드백들을 갖는 맵 보조 결과들이 도 19에 도시되며, 트레이스(1900)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(1902)는 내비게이션 모듈(120)로의 피드백이 없는 향상된 내비게이션 솔루션을 표시하며, 그리고 트레이스(1904)는 내비게이션 모듈(120)로의 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다. 이 경우, 피드백을 갖는 맵 보조 솔루션 및 피드백이 없는 맵 보조 솔루션 둘 모두는 내비게이션 모듈(120)로부터의 독립형의 통합된 내비게이션 솔루션을 능가한다.
[00147] 필드 테스트의 다음 시나리오에서, 상이한 사용 경우들에서 동작되는 폰들을 갖고 사용자는 입실 및 퇴실했다. 도 20 및 도 21은 폰이 핸드헬드되는 것에 대한 결과들을 도시한다. 포지션 추정기(126)로부터의 멀티-가설 출력들이 도 20에서 예시되며, 내비게이션 솔루션 전용의 결과는 트레이스(2000)에 의해 표시되고, 업데이트된 추정된 포지션 정보의 결과는 트레이스(2002 및 2004)에 의해 표시된다. 내비게이션 모듈(120)의 내비게이션 솔루션으로부터의 헤딩의 에러는 맵 모듈(124)의 맵 보조 알고리즘으로 정확하게 보상되었다. 더욱이, 알고리즘은 또한, 벽 교차 이벤트들을 성공적으로 검출한다. 독립형, 피드백을 갖는 맵 보조 내비게이션 및 피드백이 없는 맵 보조 내비게이션으로부터의 결과들이 도 21에 도시되며, 트레이스(2100)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(2102)는 내비게이션 모듈(120)로의 피드백이 없는 향상된 내비게이션 솔루션을 표시하며, 그리고 트레이스(2104)는 내비게이션 모듈(120)로의 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다.
[00148] 도 22 및 도 23은 포켓에 폰을 갖는 궤적으로부터의 결과들을 도시한다. 도 22에서는, 트레이스(2200)가 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(2102)가 향상된 내비게이션 솔루션을 표시하는 반면에, 도 23에서는, 트레이스(2300)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(2302)는 내비게이션 모듈(120)로의 업데이트된 추정된 포지션 정보의 피드백이 없는 향상된 내비게이션 솔루션을 표시하며, 그리고 트레이스(2304)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다. 도시된 바와 같이, 본 개시내용의 기법들은, 벽 교차의 성공적인 검출에 대해, 독립형의 통합된 시스템과 비교하여 개선된 내비게이션 성능을 제공한다. 도 23은 또한, 피드백을 갖는 맵 보조 솔루션을 사용함으로써 더 나은 성능이 제공될 수 있다는 것을 표시한다.
[00149] 유사한 분석이, 테스트 동안 다른 사용 경우들에서 작동되는 폰을 통해 더욱 복잡한 시나리오에 적용되었다. 폰은, 시작시에 핸드-헬드 모드에서 작동되었고, 그후 테스트 루트의 1/3에서 댕글링 모드로 전달되었으며, 최종적으로 핸드-헬드 모드로 리턴되었다. 도 24 및 도 25는 이러한 궤적으로부터의 결과들을 제시하며, 여기서 트레이스(2400)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(2402)는 향상된 내비게이션 솔루션을 표시하며, 트레이스(2500)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(2502)는 피드백이 없는 향상된 내비게이션 솔루션을 표시하며, 트레이스(2504)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다. 이 경우, 도 25에 도시된 바와 같이, 피드백들을 갖는 맵 보조 내비게이션 솔루션은 피드백을 갖지 않는 시스템을 능가한다.
[00150] 필드 테스트의 다른 시나리오는 사용자가 엘리베이터들 또는 에스컬레이터들을 타고 쇼핑몰의 2개 층들 사이를 스위칭하는 것을 수반했다. 제 1 세트의 조건들을 나타내는, 도 26, 도 27, 도 28 및 도 29는, 사용자가 핸드-헬드 모드에서 동작되는 폰을 가지고 위 아래로 이동하기 위해 에스컬레이터를 탔을 때의 결과들을 도시한다. 도 26에서, 트레이스(2600)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(2602)는 향상된 내비게이션 솔루션을 표시한다. 도 27에서, 트레이스(2700)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(2702)는 향상된 내비게이션 솔루션 트레이스를 표시한다. 도 28에서, 트레이스(2800)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(2802)는 내비게이션 모듈(120)에 대한 업데이트된 추정된 포지션 정보의 피드백을 갖지 않는 향상된 내비게이션 솔루션을 표시하며, 트레이스(2804)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다. 도 29에서, 트레이스(2900)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(2902)는 내비게이션 모듈(120)에 대한 업데이트된 추정된 포지션 정보의 피드백을 갖지 않는 향상된 내비게이션 솔루션을 표시하며, 트레이스(2904)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다. 이러한 도면들에 도시된 바와 같이, 층 변화 이벤트의 검출 이후에, 현재 이용가능한 가설들 모두가 제거되었고 정확한 헤딩(correct heading)을 갖는 에스컬레이터 근처에서 새로운 가설이 생성되었다. 층 변화 이벤트 이후의 헤딩은 전체 궤적을 손상시키지 않고 성공적으로 유지되었다.
[00151] 다음으로, 도 30, 도 31, 도 32 및 도 33은, 사용자가 위 아래로의 층 변화시에 엘리베이터를 탈 때의 결과들을 도시한다. 도 30에서, 트레이스(3000)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(3002)는 향상된 내비게이션 솔루션을 표시한다. 도 31에서, 트레이스(3100)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(3102)는 향상된 내비게이션 솔루션 트레이스를 표시한다. 도 32에서, 트레이스(3200)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(3202)는 내비게이션 모듈(120)에 대한 업데이트된 추정된 포지션 정보의 피드백을 갖지 않는 향상된 내비게이션 솔루션을 표시하며, 트레이스(3204)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다. 도 33에서, 트레이스(3300)는 내비게이션 솔루션 전용의 결과들을 표시하고, 트레이스(3302)는 내비게이션 모듈(120)에 대한 업데이트된 추정된 포지션 정보의 피드백을 갖지 않는 향상된 내비게이션 솔루션을 표시하며, 트레이스(3304)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다.
[00152] 최종적으로, 도 34, 도 35, 도 36 및 도 37은 사용자가 층들을 변화할 때 위로 갈 때는 에스컬레이터를 타고 아래로 갈 때는 엘리베이터를 탔을 때의 결과들을 도시한다. 도 34에서, 트레이스(3400)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(3402)는 향상된 내비게이션 솔루션을 표시한다. 도 35에서, 트레이스(3500)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(3502)는 향상된 내비게이션 솔루션 트레이스를 표시한다. 도 36에서, 트레이스(3600)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(3602)는 내비게이션 모듈(120)에 대한 업데이트된 추정된 포지션 정보의 피드백을 갖지 않는 향상된 내비게이션 솔루션을 표시하며, 트레이스(3604)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다. 도 37에서, 트레이스(3700)는 내비게이션 솔루션 전용의 결과들만을 표시하고, 트레이스(3702)는 내비게이션 모듈(120)에 대한 업데이트된 추정된 포지션 정보의 피드백을 갖지 않는 향상된 내비게이션 솔루션을 표시하며, 트레이스(3704)는 피드백을 갖는 향상된 내비게이션 솔루션을 표시한다.
[00153] 요약하면, 본 개시내용의 기법들은 층 변화 이벤트들을 신뢰가능하게 처리하고 내비게이션 솔루션을 크게 향상시킨다. 이에 더해, 업데이트된 추정된 포지션 정보를 피드백으로서 내비게이션 모듈(120)에 제공하는 것은 피드백 없는 내비게이션 모듈로부터의 솔루션에 비해 개선된 내비게이션 성능을 제공한다.
[00154] 디바이스(100)의 아키텍처에 따라, 센서 프로세서(108) 및 관성 센서(112)는 상이한 칩들 상에 형성될 수 있거나, 또는 도시된 바와 같이, 동일한 칩 상에 상주할 수 있다. 디바이스(100)의 배향을 계산하기 위해 이용되는 센서 퓨전 알고리즘이, 이를테면 호스트 프로세서(104)에 의해, 센서 프로세서(108) 및 MPU(106) 외부에서 수행될 수 있거나, 또는 MPU(106)에 의해 수행될 수 있다. 칩은, 통상적으로 반도체 재료로 형성되는 적어도 하나의 기판을 포함하는 것으로 정의될 수 있다. 다수의 기판들로부터 단일 칩이 형성될 수 있으며, 여기서, 기판들은 기능성을 보존하기 위해 기계적으로 본딩된다. 다중 칩은 적어도 2개의 기판들을 포함하며, 2개의 기판들은 전기적으로 연결되지만, 기계적 본딩을 필요로 하지는 않는다. 패키지는 PCB에 솔더링될 수 있는 금속 리드와 칩 상의 본드 패드들 간에 전기적 연결을 제공한다. 패키지는 통상적으로 기판 및 커버를 포함한다. 집적 회로(IC) 기판은, 전기 회로들, 통상적으로 CMOS 회로들을 갖는 실리콘 기판을 지칭할 수 있다.
[00155] 임의의 적합한 기법을 사용하여, 요구되는 경우, 하나 또는 그 초과의 센서들이 패키지 내에 통합될 수 있다. 일부 실시예들에서, 센서는 MEMS-기반일 수 있으며, 그에 따라, MEMS 캡은 MEMS 구조에 대한 기계적 지지를 제공한다. MEMS 구조 층은 MEMS 캡에 부착된다. MEMS 캡은 또한, 핸들 기판 또는 핸들 웨이퍼로서 지칭된다. 일부 실시예들에서, 제 1 기판은 단일 반도체 칩 내의 제 2 기판에 대해 수직으로 적층되고, 부착되고 전기적으로 연결될 수 있는 한편, 다른 실시예들에서, 제 1 기판은 단일 반도체 패키지 내의 제 2 기판에 대해 측방향으로 배치되고 전기적으로 연결될 수 있다. 일 실시예에서, 제 1 기판은, 전기적 연결들을 동시에 제공하고 MEMS 디바이스들을 기밀식 밀봉하기 위해, 그 전체가 인용에 의해 본원에 포함되는 공동 소유의 미국 특허 제 7,104,129 호에서 설명되는 바와 같이, 웨이퍼 본딩을 통해 제 2 기판에 부착된다. 이러한 제조 기법은 유리하게는, 매우 작고 경제적인 패키지로 고성능의 다축 관성 센서들의 설계 및 제조를 허용하는 기법을 가능하게 한다. 웨이퍼-레벨에서의 통합은 기생 캐패시턴스들을 최소화하여, 개별 솔루션에 비해 개선된 신호 대 잡음을 허용한다. 웨이퍼-레벨에서의 그러한 통합은 또한, 외부 증폭의 필요성을 최소화하는 리치 피처 세트(rich feature set)를 포함시키는 것을 가능하게 한다.
[00156] 본 개시내용의 기법들은, 이러한 내비게이션 솔루션에서 사용되는 상태 추정 또는 필터링 기법의 타입과 무관하게 임의의 내비게이션 솔루션과 조합될 수 있다. 상태 추정 기법은 선형, 비선형, 또는 이들의 조합일 수 있다. 내비게이션 솔루션에 사용되는 기법들의 다른 예들은, Kalman 필터, 확장된 Kalman 필터, 입자 필터와 같은 비선형 필터, 또는 신경망 또는 퍼지-시스템들과 같은 인공 지능 기법에 의존할 수 있다. 내비게이션 솔루션에서 사용되는 상태 추정 기법은 임의의 타입의 시스템 및/또는 측정 모델들을 사용할 수 있다. 내비게이션 솔루션은 상이한 센서들 및 시스템들을 통합하기 위한 임의의 방식, 예컨대, 무엇보다도, 느슨하게 결합된(loosely coupled) 통합 방식 또는 긴밀하게 결합된(tightly coupled) 통합 방식을 따를 수 있다. 내비게이션 솔루션은 관성 센서들 및/또는 사용되는 다른 센서들의 에러들에 대한 (선형 또는 비선형, 짧은 메모리 길이 또는 긴 메모리 길이인지에 대한) 모델링 및/또는 자동 교정을 활용할 수 있다.
고려되는 실시예들
[00157] 본 개시내용은 순방향의 x, 바디의 우측을 향하는 포지티브한 y, 아래를 향하는 포지티브한 z 축이 되도록 바디 프레임을 설명한다. 임의의 바디-프레임 정의는 본원에 설명되는 방법 및 장치의 애플리케이션에 대해 사용될 수 있다는 것이 고려된다.
[00158] 본 개시내용의 기법들은 자신의 가능한 업데이트들 및 관성 센서들 바이어스 재계산들을 가지는 자동 제로 속도 기간들 또는 정적 기간 검출, 넌-홀로노믹 업데이트 모듈, 진보된 모델링 및/또는 관성 센서 에러 교정, 적절한 경우 GNSS로부터의 그들에 대한 가능한 측정 업데이트 파생, GNSS 솔루션 품질 자동 평가 및 성능 저하 검출, 느슨하게 그리고 단단하게 커플링된 통합 방식들 간의 자동 스위칭, 단단하게 결합된 모드의 경우 각각의 가시적 GNSS 위성의 평가를 선택적으로 활용하는 내비게이션 솔루션에 의해 사용될 수 있고, 그리고 마지막으로 가능하게는 임의의 타입의 역방향 스무딩 기법을 이용하고 동일한 미션 내에서 버퍼링된 데이터 상에서 포스트 미션에서 또는 백그라운드에서 실행하는 역방향 스무딩 모듈에 의해 사용될 수 있다는 것이 고려된다.
[00159] 본 개시내용의 기법들은 또한 전달 모드를 설정하기 위하여 전달 모드 기법 또는 모션 모드 검출 기법에 의해 사용될 수 있다는 것이 추가로 고려된다. 이것은, 예컨대, 운전 모드와 같은 다른 모드들 중에서 보행자 모드의 검출을 가능하게 한다. 보행자 모드가 검출되는 경우, 본 개시내용에서 제시되는 방법은 디바이스와 보행자 간의 오정렬을 결정하도록 동작가능하게 만들어질 수 있다.
[00160] 본 개시내용의 기법들은 또한 절대적 내비게이션 정보 내의 인위적 아웃티지들(outages)을 시뮬레이팅하고 솔루션의 정확도 및 일관성을 최적화하기 위하여 현재 내비게이션 모듈 내의 솔루션에 대해 사용되는 상태 추정 기법의 다른 인스턴스의 파라미터들을 추정하기 위한 루틴을 백그라운드에서 실행하도록 추가로 프로그래밍되는 내비게이션 솔루션에 의해 사용될 수 있다는 것이 추가로 고려된다. 정확도 및 일관성은 시뮬레이팅되는 아웃티지들 동안의 일시적인 백그라운드 솔루션을 레퍼런스 솔루션과 비교함으로써 평가된다. 레퍼런스 솔루션은: 다음 예들 중 하나일 수 있다: 절대적 내비게이션 정보(예컨대, GNSS); 이용가능한 센서들을 절대적 내비게이션 정보(예컨대, GNSS)와 그리고 가능하게는 선택적 속도 또는 속도 판독치들과 통합하는 디바이스에서의 순방향 통합 내비게이션 솔루션; 또는 이용가능한 센서들을 절대적 내비게이션 정보(예컨대, GNSS)와 그리고 가능하게는 선택적 스피드 또는 속도 판독치들과 통합하는 역방향 스무딩된 통합 내비게이션 솔루션. 백그라운드 프로세싱은 순방향 솔루션 프로세싱과 동일한 프로세서 상에서 또는 제 1 프로세서와 통신할 수 있는 다른 프로세서 상에서 실행될 수 있으며, 공유된 위치로부터 저장된 데이터를 판독할 수 있다. 백그라운드 프로세싱 솔루션의 결과는, 예컨대, 현재 모듈에서의 내비게이션에 대해 사용되는 순방향 상태 추정 기법의 파라미터들에 대한 개선된 값들을 가짐으로써, 그것의 향후 실행(즉, 백그라운드 루틴이 실행을 종료한 이후 실시간 실행)에서의 실-시간 내비게이션 솔루션에 유익할 수 있다.
[00161] 또한, 본 개시내용의 기법들은 맵들(이를테면, 거리 맵들, 실내 맵들 또는 모델들, 또는 이용가능한 이러한 맵들 또는 모델들을 갖는 애플리케이션들의 경우의 임의의 다른 환경 맵 또는 모델)과 추가로 통합된 내비게이션 솔루션, 및 맵 보조 또는 모델 보조 루틴과 함께 사용될 수 있음이 고려된다. 맵 보조 또는 모델 보조는, 절대적 내비게이션 정보(이를테면, GNSS) 저하 또는 차단 동안 내비게이션 솔루션을 더 향상시킬 수 있다. 모델 보조의 경우, 예컨대, 레이저 범위 파인더들, 카메라들 및 비전 시스템들, 또는 소나(sonar) 시스템들과 같은 그 환경에 대한 정보를 포착하는 센서 또는 센서들의 그룹이 사용될 수 있다. 이러한 새로운 시스템들은 절대적 내비게이션 정보 문제들(저하 또는 부재) 동안 내비게이션 솔루션의 정확도를 향상시키는데 추가적인 도움으로서 사용될 수 있거나, 또는 이들은 일부 애플리케이션들에서 절대적 내비게이션 정보를 완전히 대체할 수 있다.
[00162] 또한, 본 개시내용의 기법들은 단단하게 커플링되는 방식 또는 하이브리드로 느슨하게/단단하게 커플링되는 옵션 중 하나에서 작업할 때, 의사거리 측정들(반송파 위상이 아닌 코드로부터 계산되어, 이에 따라 이들은 코드-기반 의사거리들로 지칭됨) 및 도플러 측정들(의사거리 레이트들을 획득하는데 사용됨)을 활용할 필요가 없는 내비게이션 솔루션을 통해 또한 사용될 수 있음이 고려된다. GNSS 수신기의 반송파 위상 측정은, 예컨대: (i) 코드-기반 의사거리들 대신에 범위들을 계산하기 위한 대안적인 방식으로서, 또는 (ii) 코드-기반 의사거리 및 반송파-위상 측정들 둘 다로부터의 정보를 통합함으로써 범위 계산을 향상시키기 위해 또한 사용될 수 있으며; 이러한 향상은 반송파-스무딩 의사거리이다.
[00163] 또한, 본 개시내용의 기법들은 GNSS 수신기와 다른 센서들의 판독치들 사이의 매우 단단한(ultra-tight) 통합 방식에 의존하는 내비게이션 솔루션과 함께 사용될 수 있음이 고려된다.
[00164] 또한, 본 개시내용의 기법들은 포지셔닝 및 내비게이션에 또한 사용될 수 있는 다양한 무선 통신 시스템들을 사용하는 내비게이션 솔루션과 함께 (GNSS가 이용불가능할 때 더욱 유익할 것인) 추가적인 보조로서 또는 (예컨대, GNSS가 적용가능하지 않는 애플리케이션들에 대해) GNSS 정보에 대한 대체로서 또한 사용될 수 있음이 고려된다. 포지셔닝을 위해 사용되는 이러한 무선 통신 시스템들의 예들은, 이를테면, 셀룰러 폰 타워들 및 신호들, 라디오 신호들, 디지털 텔레비전 신호들, WiFi 또는 WiMax에 의해 제공되는 것들이다. 예컨대, 셀룰러 폰 기반 애플리케이션들의 경우, 셀 폰 타워들로부터의 절대적 좌표 및 실내 사용자와 타워들 사이의 범위들은 포지셔닝을 위해 활용될 수 있으며, 이에 의해 이 범위는 도착 시간 또는 가장 가까운 셀 폰 포지셔닝 좌표들의 도착 시간차를 계산하는 상이한 방법들에 의해 추정될 수 있다. E-OTD(Enhanced Observed Time Difference)로 알려진 방법은 알려진 좌표들 및 범위를 획득하는데 사용될 수 있다. 범위 측정들을 위한 표준 편차는 셀 폰, 및 셀 타워 타이밍 장비 및 송신 손실들에 사용되는 오실레이터의 타입에 의존할 수 있다. WiFi 포지셔닝은, 무엇보다도, 도착 시간, 도착 시간차, 도착 각도들, 수신된 신호 강도, 및 핑거프린팅 기법들을 포함하는(그러나, 이에 제한되지 않음) 다양한 방법들로 행해질 수 있으며; 모든 방법들은 상이한 레벨들의 정확도들을 제공한다. 포지셔닝을 위해 사용되는 무선 통신 시스템은, 무선 신호들로부터의 범위, 각도들, 또는 신호 강도에서의 에러들을 모델링하기 위한 상이한 기법들을 사용할 수 있고, 상이한 다중경로 완화 기법들을 사용할 수 있다. 또한, 위에서 언급한 모든 아이디어들은, 무엇보다도, 무선 통신 시스템들에 기반하여 다른 무선 포지셔닝 기법들에 대해 유사한 방식으로 적용가능하다.
[00165] 또한, 본 개시내용의 기법들은 다른 이동중인 디바이스들로부터의 보조 정보를 활용하는 내비게이션 솔루션과 함께 사용될 수 있음이 고려된다. 이러한 보조 정보는 (GNSS가 이용불가능할 때 더욱 유리할) 추가 보조로서 또는 (예컨대, GNSS 기반 포지셔닝이 적용가능하지 않는 애플리케이션들의 경우) GNSS 정보에 대한 대체로서 사용될 수 있다. 다른 디바이스들로부터의 보조 정보의 일 예는, 상이한 디바이스들 사이의 무선 통신 시스템들에 의존할 수 있다. 기본적인 아이디어는, (예컨대, 양호한 가용성 및 정확도를 갖춘 GNSS를 갖는) 더 나은 포지셔닝 또는 내비게이션 솔루션이, 저하된 또는 이용불가능한 GNSS를 갖는 디바이스가, 개선된 포지셔닝 또는 내비게이션 솔루션을 획득하도록 도울 수 있다는 것이다. 이러한 도움은, 저하된 또는 이용불가능한 GNSS를 갖는 디바이스(들)를 포지셔닝하기 위한 무선 통신 시스템 및 보조 디바이스(들)의 잘-알려진 포지션에 의존한다. 이렇게 고려된 변형은, (i) 저하된 또는 이용불가능한 GNSS를 갖는 디바이스(들)가 본원에 설명된 방법들을 활용하고 다른 디바이스들 및 통신 시스템으로부터의 도움을 얻고, (ii) 이용가능한 GNSS를 갖는 보조 디바이스 및 이에 따른 양호한 내비게이션 솔루션이 본원에 설명된 방법들을 활용하는, 하나 또는 두 환경(들)을 지칭한다. 포지셔닝을 위해 사용된 무선 통신 시스템은 상이한 통신 프로토콜들에 의존할 수 있고, 무엇보다도, 예컨대, 도착 시간, 도착 시간차, 도착 각도들, 및 수신된 신호 강도와 같은 상이한 방법들에 의존할 수 있다. 포지셔닝에 사용되는 무선 통신 시스템은, 무선 신호들로부터의 범위 및/또는 각도들에서의 에러들을 모델링하기 위한 상이한 기법들을 사용할 수 있고, 상이한 다중경로 완화 기법들을 사용할 수 있다.
[00166] 위에 설명된 실시예들 및 기법들은 다양한 상호연결된 기능 블록들 또는 별개의 소프트웨어 모듈들로서 소프트웨어 내에서 구현될 수 있다. 그러나, 이것은 필수적인 것은 아니지만, 이들 기능 블록들 또는 모듈들이 불명확한 경계들을 갖는 단일의 로직 디바이스, 프로그램 또는 동작으로 동등하게 어그리게이팅되는 경우들이 존재할 수 있다. 어떤 경우에도, 앞서 설명된 실시예들을 구현하는 기능 블록들 및 소프트웨어 모듈들, 또는 인터페이스의 특징들은, 그 자신들에 의해, 또는 하드웨어나 소프트웨어에서의 다른 동작들과 조합하여, 완전히 디바이스 내에서 또는 디바이스 및 디바이스와 통신하는 다른 프로세서 인에이블 디바이스들, 이를테면 서버와 결합하여 구현될 수 있다.
[00167] 비록 일부 실시예들이 도시되고 설명되었지만, 당업자들에 의해 그들의 범위, 의도 또는 기능을 변경하거나 또는 벗어나지 않고 이러한 실시예들에 대한 다양한 변경들 및 변형들이 행해질 수 있다는 점이 인지될 것이다. 이전의 상세한 설명에서 사용되는 용어들 및 표현들은 제한이 아닌 상세한 설명의 용어들로서 본원에서 사용되었으며, 도시되고 설명된 특징들 또는 그 일부들의 등가물들을 배제하는 그러한 용어들 및 표현들의 사용에 대한 의도는 없으며, 본 개시내용은 후술하는 청구항들에 의해서만 정의되고 제한되는 것으로 인지되고 있다.

Claims (45)

  1. 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법으로서,
    상기 디바이스의 이동성은 상기 플랫폼내에서 제한되거나 또는 제한되지 않으며, 상기 디바이스는 임의의 배향으로 틸팅될 수 있으며,
    상기 방법은,
    a) 상기 휴대가능 디바이스에 대한 센서 데이터를 획득하는 단계;
    b) 상기 센서 데이터에 적어도 부분적으로 기반하여 내비게이션 솔루션을 유도하는 단계;
    c) 상기 내비게이션 솔루션에 적어도 부분적으로 기반하여 상기 휴대가능 디바이스에 대해 추정된 포지션 정보를 제공하는 단계;
    d) 상기 사용자의 현재 위치를 포함하는 영역에 관한 맵 정보를 획득하는 단계;
    e) 상기 추정된 포지션 정보 및 상기 맵 정보에 적어도 부분적으로 기반하여 상기 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하는 단계;
    f) 상기 추정된 포지션 정보 및 상기 맵 정보에 적어도 부분적으로 기반하여 상기 가설들을 관리하는 단계;
    g) 상기 휴대가능 디바이스에 대해 추정된 포지션 정보를 업데이트하기 위하여, 관리된 가설들을 프로세싱하는 단계; 및
    h) 업데이트된 추정된 포지션 정보를 사용하여, 향상된 내비게이션 솔루션을 제공하는 단계를 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  2. 제 1항에 있어서,
    상기 업데이트된 추정된 정보는 상기 향상된 내비게이션 솔루션을 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  3. 제 1항에 있어서,
    상기 업데이트된 추정된 정보는 상기 향상된 내비게이션 솔루션을 유도하기 위하여 상기 내비게이션 솔루션에 공급되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  4. 제 3항에 있어서,
    상기 향상된 내비게이션 솔루션을 유도하는 것은 상기 업데이트된 추정된 포지션 정보를 상기 내비게이션 모듈에 대한 측정 업데이트로서 활용하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  5. 제 1항에 있어서,
    상기 향상된 내비게이션 솔루션은 상기 내비게이션 솔루션 및 상기 업데이트된 추정된 정보로부터의 값들을 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  6. 제 1항에 있어서,
    상기 휴대가능 디바이스에 대한 절대적 내비게이션 정보를 획득하는 단계를 더 포함하며, 상기 내비게이션 솔루션을 유도하는 것은 상기 절대적 내비게이션 정보에 추가로 기반하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  7. 제 6항에 있어서,
    상기 절대적 내비게이션 정보는 (i) GNSS(global navigation satellite system); (ii) 셀-기반 포지셔닝; (iii) WiFi-기반 포지셔닝; 또는 (iv) 다른 무선-기반 포지셔닝 중 어느 하나 또는 이들의 임의의 조합으로부터 획득되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  8. 제 1항에 있어서,
    상기 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하는 단계는 이전 에포크로부터의 업데이트된 포지션 정보에 추가로 기반하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  9. 제 1항에 있어서,
    상기 맵 정보를 프리프로세싱하는 단계를 더 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  10. 제 9항에 있어서,
    상기 맵 정보를 프리프로세싱하는 단계는 맵 엔티티들을 추출하는 단계를 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  11. 제 10항에 있어서,
    상기 맵 정보를 프리프로세싱하는 단계는 백그라운드 엔티티로부터 적어도 하나의 포어그라운드 맵 엔티티를 클립핑하는 단계를 더 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  12. 제 11항에 있어서,
    상기 백그라운드 엔티티를 클립핑하는 것은 횡단가능한 영역을 정의하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  13. 제 10항에 있어서,
    상기 맵 정보를 프리프로세싱하는 단계는 맵 엔티티를 비교적 더 복잡한 다각형으로 표현하고 상기 다각형을 복수의 비교적 더 간단한 다각형들로 분해하는 단계를 더 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  14. 제 9항에 있어서,
    상기 맵 정보를 프리프로세싱하는 단계는 연결된 링크들 및 노드들의 그리드를 생성하는 단계를 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  15. 제 1항에 있어서,
    상기 추정된 포지션 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  16. 제 15항에 있어서,
    상기 가설들 중 적어도 하나는 상기 에러 지역을 상기 맵 정보에 프로젝팅(projecting)함으로써 생성되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  17. 제 15항에 있어서,
    복수의 가설들은 복수의 맵 엔티티들과의 오버랩이 발생할 때 상기 에러 지역을 상기 맵 정보에 프로젝팅함으로써 생성되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  18. 제 15항에 있어서,
    상기 맵 정보는 다각형 기반 지오메트릭(geometric) 맵을 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  19. 제 15항에 있어서,
    상기 맵 정보는 그리드 맵을 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  20. 제 1항에 있어서,
    상기 맵 정보는 그리드 맵을 포함하며, 상기 추정된 포지션 정보는 결정된 사용자 궤도와 상기 그리드 맵의 토폴로지컬 피처(topological feature) 간의 상관에 적어도 부분적으로 기반하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  21. 제 1항에 있어서,
    상기 가설들을 관리하는 단계는 가설들을 추가하는 것, 가설들을 제거하는 것 그리고 가설들을 조합하는 것 중 적어도 하나를 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  22. 제 1항에 있어서,
    상기 가설들을 관리하는 단계는 의사 결정 로직을 적용하는 단계를 더 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  23. 제 22항에 있어서,
    상기 의사 결정 로직은 벽 교차 이벤트(wall crossing event)를 위해 구성되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  24. 제 22항에 있어서,
    상기 의사 결정 로직은 레벨 변화 이벤트(level change event)를 위해 구성되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  25. 제 1항에 있어서,
    상기 내비게이션 솔루션은 상기 사용자에 대한 모션 모드를 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  26. 제 25항에 있어서,
    상기 추정된 포지션 정보는 상기 모션 모드에 적어도 부분적으로 기반하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  27. 제 15항에 있어서,
    상기 가설들은 상기 모션 모드에 적어도 부분적으로 기반하여 관리되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  28. 제 25항에 있어서,
    레벨 변화 이벤트는 상기 모션 모드에 적어도 부분적으로 기반하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  29. 제 1항에 있어서,
    상기 향상된 내비게이션 솔루션은 상기 추정된 포지션 정보와 연관된 맵 엔티티에 적어도 부분적으로 기반하여 검출된 사용자에 대한 모션 모드를 포함하는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  30. 제 1항에 있어서,
    상기 휴대가능 디바이스에 대한 포지션 정보는 예측 전용 Kalman 필터(prediction only Kalman filter), 거의 일정한 속도 Kalman 필터(near constant velocity Kalman filter), 예측 전용 입자 필터(prediction only particle filter) 및 거의 일정한 속도 입자 필터(near constant velocity particle filter) 중 적어도 하나를 사용하여 추정되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  31. 제 1항에 있어서,
    상기 휴대가능 디바이스에 대한 추정된 포지션 정보를 업데이트하기 위하여 맵 정보를 획득하는 단계, 다수의 가설들을 생성하는 단계, 상기 가설들을 관리하는 단계, 및 상기 관리된 가설들을 프로세싱하는 단계 중 적어도 하나가 원격적으로 수행되는, 맵 정보를 사용하여 플랫폼 및 휴대가능 디바이스의 내비게이션 솔루션을 향상시키기 위한 방법.
  32. 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스로서,
    a) 상기 휴대가능 디바이스와 통합되며, 상기 휴대가능 디바이스의 모션을 나타내는 데이터를 출력하도록 구성된 센서 어셈블리; 및
    b) i) 상기 센서 데이터에 적어도 부분적으로 기반하여 내비게이션 솔루션을 유도하기 위한 내비게이션 모듈, 및 ii) 상기 내비게이션 솔루션에 적어도 부분적으로 기반하여 상기 휴대가능 디바이스에 대해 추정된 포지션 정보를 제공하기 위한 포지션 추정기, 상기 사용자의 현재 위치를 포함하는 영역에 관한 맵 정보를 획득하기 위한 맵 핸들러, 및 상기 추정된 포지션 정보 및 상기 맵 정보에 적어도 부분적으로 기반하여 상기 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하여 관리하기 위한 가설 분석기를 가진 맵 모듈을 구현하도록 구성된 프로세서를 포함하며, 상기 맵 모듈은 상기 휴대가능 디바이스에 대해 추정된 포지션 정보를 업데이트하기 위하여 상기 관리된 가설들을 프로세싱하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  33. 제 32항에 있어서,
    상기 휴대가능 센서 디바이스에 대한 절대적 내비게이션 정보의 소스를 더 포함하며, 상기 절대적 내비게이션 정보는 상기 내비게이션 솔루션을 보조하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  34. 제 33항에 있어서,
    상기 절대적 내비게이션 정보는 (i) GNSS(global navigation satellite system); (ii) 셀-기반 포지셔닝; (iii) WiFi-기반 포지셔닝; 또는 (iv) 다른 무선-기반 포지셔닝 중 어느 하나 또는 이들의 임의의 조합으로부터 획득되는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  35. 제 32항에 있어서,
    상기 맵 모듈은 향상된 내비게이션 솔루션을 제공하도록 추가로 구성되며, 상기 업데이트된 추정된 정보는 상기 향상된 내비게이션 솔루션을 포함하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  36. 제 32항에 있어서,
    상기 업데이트된 추정된 포지션 정보를 상기 내비게이션 모듈에 공급하는 것을 더 포함하며, 상기 내비게이션 모듈은 상기 업데이트된 추정된 포지션 정보를 사용하여 상기 내비게이션 솔루션을 향상시키도록 추가로 구성되는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  37. 제 36항에 있어서,
    상기 내비게이션 솔루션의 향상은 상기 업데이트된 추정된 포지션 정보를 상기 내비게이션 모듈에 대한 측정 업데이트로서 활용하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  38. 제 32항에 있어서,
    상기 맵 모듈은 향상된 내비게이션 솔루션을 제공하도록 추가로 구성되며, 상기 향상된 내비게이션 솔루션은 상기 내비게이션 솔루션 및 상기 업데이트된 추정된 정보로부터의 값들을 포함하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  39. 제 32항에 있어서,
    상기 센서 어셈블리는 가속도계 및 자이로스코프를 포함하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  40. 제 32항에 있어서,
    상기 센서 어셈블리는 MEMS(Micro Electro Mechanical System)으로서 구현되는 관성 센서를 포함하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 휴대가능 디바이스.
  41. 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 시스템으로서,
    a) 휴대가능 디바이스 ― 상기 휴대가능 디바이스는 상기 휴대가능 대바이스의 모션을 나타내는 데이터를 출력하도록 구성된 통합된 센서 어셈블리 및 상기 센서 데이터에 적어도 부분적으로 기반하여 내비게이션 솔루션을 유도하기 위한 내비게이션 모듈을 구현하도록 구성된 프로세서를 포함함 ―; 및
    b) 상기 휴대가능 디바이스로부터 상기 내비게이션 솔루션을 수신하도록 구성된 원격 프로세싱 자원들을 포함하며, 상기 원격 프로세싱 자원들은 상기 내비게이션 솔루션에 적어도 부분적으로 기반하여 상기 휴대가능 디바이스에 대해 추정된 포지션 정보를 제공하기 위한 포지션 추정기, 상기 사용자의 현재 위치를 포함하는 영역에 관한 맵 정보를 획득하기 위한 맵 핸들러, 및 상기 추정된 포지션 정보 및 상기 맵 정보에 적어도 부분적으로 기반하여 상기 휴대가능 디바이스의 가능한 포지션들에 관한 다수의 가설들을 생성하여 관리하기 위한 가설 분석기를 가진 맵 모듈을 구현하도록 구성된 프로세서를 가지며, 상기 맵 모듈은 상기 휴대가능 디바이스에 대해 추정된 포지션 정보를 업데이트하기 위하여 상기 관리된 가설들을 프로세싱하며, 상기 원격 프로세싱 자원들은 상기 업데이트된 추정된 포지션 정보를 상기 휴대가능 디바이스에 송신하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 시스템.
  42. 제 41항에 있어서,
    상기 디바이스는 향상된 내비게이션 솔루션을 제공하도록 추가로 구성되며, 상기 업데이트된 추정된 정보는 상기 향상된 내비게이션 솔루션을 포함하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 시스템.
  43. 제 41항에 있어서,
    상기 업데이트된 추정된 포지션 정보를 상기 내비게이션 모듈에 공급하는 것을 더 포함하며, 상기 내비게이션 모듈은 상기 업데이트된 추정된 포지션 정보를 사용하여 상기 내비게이션 솔루션을 향상시키도록 추가로 구성되는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 시스템.
  44. 제 43항에 있어서,
    상기 내비게이션 솔루션의 향상은 상기 업데이트된 추정된 포지션 정보를 상기 내비게이션 모듈에 대한 측정 업데이트로서 활용하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 시스템.
  45. 제 41항에 있어서,
    상기 디바이스는 향상된 내비게이션 솔루션을 제공하도록 추가로 구성되며, 상기 향상된 내비게이션 솔루션은 상기 내비게이션 솔루션 및 상기 업데이트된 추정된 정보로부터의 값들을 포함하는, 맵 정보를 사용하여 향상된 내비게이션 솔루션을 제공하기 위한 시스템.
KR1020177009189A 2014-09-08 2015-09-04 맵 정보 보조 향상된 휴대가능 내비게이션을 이용하기 위한 방법 및 장치 KR20170060034A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462047511P 2014-09-08 2014-09-08
US62/047,511 2014-09-08
US14/845,903 US9797732B2 (en) 2014-09-08 2015-09-04 Method and apparatus for using map information aided enhanced portable navigation
US14/845,903 2015-09-04
PCT/US2015/048601 WO2016040166A1 (en) 2014-09-08 2015-09-04 Method and apparatus for using map information aided enhanced portable navigation

Publications (1)

Publication Number Publication Date
KR20170060034A true KR20170060034A (ko) 2017-05-31

Family

ID=55437227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177009189A KR20170060034A (ko) 2014-09-08 2015-09-04 맵 정보 보조 향상된 휴대가능 내비게이션을 이용하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9797732B2 (ko)
EP (1) EP3191795A1 (ko)
JP (1) JP6783751B2 (ko)
KR (1) KR20170060034A (ko)
CN (1) CN107110651B (ko)
WO (1) WO2016040166A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10132635B2 (en) * 2013-09-17 2018-11-20 Invensense, Inc. Method and apparatus for misalignment between device and pedestrian using vision
AU2015353736A1 (en) * 2014-11-25 2017-06-15 Fynd Technologies, Inc. Geolocation bracelet, systems, and methods
JP5997797B2 (ja) * 2015-03-03 2016-09-28 富士重工業株式会社 車両の地図データ処理装置
US20170105032A1 (en) * 2015-10-07 2017-04-13 William Davis System and Method for Cloud-based Broadcast Rights Management
US10054688B2 (en) * 2015-11-03 2018-08-21 Samsung Electronics Co., Ltd Method and apparatus for saving power during synthetic positioning in GNSS receivers
US10054446B2 (en) 2015-11-17 2018-08-21 Truemotion, Inc. Methods and systems for combining sensor data to measure vehicle movement
US10018474B2 (en) * 2015-12-21 2018-07-10 Invensense, Inc. Method and system for using offline map information aided enhanced portable navigation
US10126134B2 (en) * 2015-12-21 2018-11-13 Invensense, Inc. Method and system for estimating uncertainty for offline map information aided enhanced portable navigation
GB2566748B (en) * 2017-09-26 2022-08-17 Focal Point Positioning Ltd A method and system for calibrating a system parameter
EP3232221A1 (de) * 2016-04-12 2017-10-18 MAGNA STEYR Fahrzeugtechnik AG & Co KG Positionsbestimmungssystem
EP3246725A1 (en) * 2016-05-20 2017-11-22 Sony Mobile Communications Inc Method and system for calculating a position of a mobile communication device within an environment
US9965051B2 (en) * 2016-06-29 2018-05-08 Microsoft Technology Licensing, Llc Input device tracking
US9953234B2 (en) * 2016-09-16 2018-04-24 Ingersoll-Rand Company Compressor conduit layout system
DE102016218232B4 (de) 2016-09-22 2024-02-15 Volkswagen Aktiengesellschaft Positionsbestimmungssystem für eine mobile Einheit, Fahrzeug und Verfahren zum Betreiben eines Positionsbestimmungssystems
EP3339807B1 (en) * 2016-12-20 2024-03-13 HERE Global B.V. An apparatus and associated methods for determining the location of a vehicle
EP3538929B1 (en) * 2017-03-20 2021-09-08 Google LLC Systems and methods of determining an improved user location using real world map and sensor data
CN108960694B (zh) * 2017-05-19 2022-04-12 北京京东振世信息技术有限公司 配送区域确定方法和装置
US10545026B1 (en) 2017-06-05 2020-01-28 Philip Raymond Schaefer System and method for tracking the position of a person and providing navigation assistance
CN107289933B (zh) * 2017-06-28 2019-08-20 东南大学 基于mems传感器和vlc定位融合的双卡尔曼滤波导航装置和方法
CN107328406B (zh) * 2017-06-28 2020-10-16 中国矿业大学(北京) 一种基于多源传感器的矿井移动目标定位方法与系统
CN107289932B (zh) * 2017-06-28 2019-08-20 东南大学 基于mems传感器和vlc定位融合的单卡尔曼滤波导航装置和方法
JP6946813B2 (ja) * 2017-07-20 2021-10-06 株式会社豊田中央研究所 状態推定装置及びプログラム
CN107219535B (zh) * 2017-07-26 2023-05-05 长沙北斗产业安全技术研究院股份有限公司 一种动态补偿的卫星导航定位增强系统及方法
WO2019063727A1 (en) * 2017-09-28 2019-04-04 Airbus Operations Gmbh SYSTEM AND METHOD FOR DETERMINING AND TRACKING A POSITION OF A MOBILE DEVICE ON BOARD AN AIRCRAFT
JP7238305B2 (ja) * 2017-10-05 2023-03-14 富士フイルムビジネスイノベーション株式会社 パーティクルフィルタを使用した位置特定のために、事前分布としてグラフベースのマップ情報を利用するシステム及び方法、コンピュータ実施方法、プログラム、及びシステム
CN107976190A (zh) * 2017-11-10 2018-05-01 北京金坤科创技术有限公司 一种室内定位导航方法与智能无人值守前台系统
WO2019136617A1 (en) * 2018-01-10 2019-07-18 Intel Corporation Predictive map generation technology
CN108426579B (zh) * 2018-02-14 2021-08-27 安徽师范大学 一种楼层内部路径网自动生成方法
US11353566B2 (en) * 2018-04-26 2022-06-07 Navico Holding As Sonar transducer having a gyroscope
WO2019226982A1 (en) * 2018-05-24 2019-11-28 Cubic Corporation Dynamically responsive real-time positioning feedback system
CN108957502B (zh) * 2018-06-04 2022-10-21 安徽理工大学 基于深度学习lstm的gnss多系统多路径误差实时削弱方法
CN110617815B (zh) * 2018-06-19 2023-10-10 上海汽车集团股份有限公司 一种自动驾驶监控告警的方法和装置
DE102018210077A1 (de) * 2018-06-21 2019-12-24 Robert Bosch Gmbh Verfahren zum Bereitstellen einer Ortungsinformation zum Orten eines Fahrzeugs durch eine fahrzeugexterne Ortungseinrichtung, Ortungseinrichtung sowie Verfahren und Vorrichtung zum Orten eines Fahrzeugs mittels einer Ortungsinformation
US11472664B2 (en) 2018-10-23 2022-10-18 Otis Elevator Company Elevator system to direct passenger to tenant in building whether passenger is inside or outside building
US10324197B1 (en) * 2018-11-13 2019-06-18 Pointr Limited Systems and methods for estimating initial heading at start-up of navigation
US11169280B2 (en) 2018-11-13 2021-11-09 Pointr Limited Systems and methods for direction estimation in indoor and outdoor locations
US11168989B2 (en) * 2019-01-02 2021-11-09 Here Global B.V. Supervised point map matcher
EP3693702A1 (en) * 2019-02-05 2020-08-12 Visteon Global Technologies, Inc. Method for localizing a vehicle
US20200348143A1 (en) * 2019-05-03 2020-11-05 Apple Inc. Adjusting heading sensor output based on image data
WO2020223974A1 (zh) * 2019-05-09 2020-11-12 珊口(深圳)智能科技有限公司 更新地图的方法及移动机器人
US11231712B2 (en) 2019-06-12 2022-01-25 Ford Global Technologies, Llc Digital model rectification with sensing robot
US11573333B2 (en) * 2019-06-17 2023-02-07 Hl Klemove Corp. Advanced driver assistance system, vehicle having the same, and method of controlling vehicle
US11220006B2 (en) 2019-06-24 2022-01-11 Ford Global Technologies, Llc Digital model rectification
JP2021081339A (ja) * 2019-11-20 2021-05-27 ヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
CN111221020A (zh) * 2020-03-06 2020-06-02 上海晶众信息科技有限公司 一种室内外定位方法、装置及系统
CN111617484B (zh) * 2020-06-04 2023-09-05 珠海金山数字网络科技有限公司 一种地图处理的方法和装置
US20210396522A1 (en) * 2020-06-17 2021-12-23 Microsoft Technology Licensing, Llc Pedestrian dead reckoning using map constraining features
CN112002186B (zh) * 2020-09-04 2022-05-06 语惠科技(南京)有限公司 一种基于增强现实技术的信息无障碍系统及方法
CN113203416B (zh) * 2021-03-19 2022-07-12 电子科技大学 一种针对摆臂行人的行人航位推算方法
CN113505152A (zh) * 2021-09-10 2021-10-15 环球数科集团有限公司 智慧城市母婴室数据信息处理方法、系统及存储介质
CN114061563B (zh) * 2021-10-15 2024-04-05 深圳优地科技有限公司 目标点合理性的判断方法、装置、终端设备及存储介质
CN114446082B (zh) * 2021-12-30 2023-08-04 西安歌尔泰克电子科技有限公司 寻找车辆的方法、装置、腕戴设备及介质
WO2024039931A1 (en) * 2022-08-15 2024-02-22 Qualcomm Incorporated Positioning operation based on filtered map data

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5158800A (en) * 1999-05-28 2000-12-18 Basic Resources, Inc. Wireless transceiver network employing node-to-node data messaging
US9097783B2 (en) * 2006-04-28 2015-08-04 Telecommunication Systems, Inc. System and method for positioning using hybrid spectral compression and cross correlation signal processing
SG183690A1 (en) * 2007-08-06 2012-09-27 Trx Systems Inc Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors
JP2009229204A (ja) * 2008-03-21 2009-10-08 Sumitomo Electric Ind Ltd 位置特定装置、コンピュータプログラム及び位置特定方法
US20110178705A1 (en) * 2010-01-15 2011-07-21 Qualcomm Incorporated Using Filtering With Mobile Device Positioning In A Constrained Environment
US9389085B2 (en) * 2010-01-22 2016-07-12 Qualcomm Incorporated Map handling for location based services in conjunction with localized environments
US20110208424A1 (en) * 2010-02-23 2011-08-25 Eric Hirsch Road Map Feedback Corrections in Tightly Coupled GPS and Dead Reckoning Vehicle Navigation
US8498811B2 (en) * 2011-02-09 2013-07-30 SenionLab AB Method and device for indoor positioning
US8504292B1 (en) * 2011-05-05 2013-08-06 Bentley Systems, Incorporated Indoor localization based on ultrasound sensors
US8583400B2 (en) * 2011-05-13 2013-11-12 Google Inc. Indoor localization of mobile devices
US9568587B2 (en) * 2011-06-21 2017-02-14 Bae Systems Plc Tracking algorithm
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities
US8635023B2 (en) * 2011-11-22 2014-01-21 Google Inc. Position indication controls for device locations
US9116000B2 (en) * 2012-10-22 2015-08-25 Qualcomm, Incorporated Map-assisted sensor-based positioning of mobile devices
JP6232183B2 (ja) * 2012-12-07 2017-11-15 株式会社日立アドバンストシステムズ 移動端末装置及び測位システム

Also Published As

Publication number Publication date
EP3191795A1 (en) 2017-07-19
JP2017534843A (ja) 2017-11-24
US9797732B2 (en) 2017-10-24
JP6783751B2 (ja) 2020-11-11
US20160069690A1 (en) 2016-03-10
WO2016040166A1 (en) 2016-03-17
CN107110651A (zh) 2017-08-29
CN107110651B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
US9797732B2 (en) Method and apparatus for using map information aided enhanced portable navigation
CN108700421B (zh) 使用离线地图信息辅助增强的便携式导航的方法和系统
US10126134B2 (en) Method and system for estimating uncertainty for offline map information aided enhanced portable navigation
US10281279B2 (en) Method and system for global shape matching a trajectory
US10547976B2 (en) Method and system for assigning point of sale information
US11162792B2 (en) Method and system for path-based point of sale ordering
US9146113B1 (en) System and method for localizing a trackee at a location and mapping the location using transitions
US20190170521A1 (en) Method and system for fingerprinting survey
US20200304952A1 (en) Revising an unstable location fingerprint database for an area
Köping et al. Probabilistic step and turn detection in indoor localization
Alaoui et al. Points of interest detection for map-aided PDR in combined outdoor-indoor spaces
Davidson Algorithms for autonomous personal navigation systems
US11968591B2 (en) Maintenance of a location fingerprint database for an area
Ko et al. Probabilistic Step and Turn Detection in Indoor Localization