KR20160028379A - 강화된 휴대용 네비게이션을 위한 다수의 필터들을 이용하기 위한 방법 - Google Patents

강화된 휴대용 네비게이션을 위한 다수의 필터들을 이용하기 위한 방법 Download PDF

Info

Publication number
KR20160028379A
KR20160028379A KR1020150122671A KR20150122671A KR20160028379A KR 20160028379 A KR20160028379 A KR 20160028379A KR 1020150122671 A KR1020150122671 A KR 1020150122671A KR 20150122671 A KR20150122671 A KR 20150122671A KR 20160028379 A KR20160028379 A KR 20160028379A
Authority
KR
South Korea
Prior art keywords
filter
navigation
heading
platform
generated value
Prior art date
Application number
KR1020150122671A
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 KR20160028379A publication Critical patent/KR20160028379A/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
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/02Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Navigation (AREA)

Abstract

휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 강화시키기 위한 장치 및 방법이 개시된다. 휴대용 디바이스의 모션에 대응하는 모션 센서 데이터가 획득될 수 있어, 제 1 필터가 네비게이션 솔루션을 출력하도록 구성될 수 있고 적어도 하나의 제 2 필터가 적어도 하나의 값을 발생시키기 위해 모션 센서 데이터를 이용하도록 구성될 수 있다. 이후 적어도 하나의 발생된 값은 제 1 필터에 의한 네비게이션 솔루션 출력을 강화시키기 위해 제 1 필터와 함께 이용될 수 있다.

Description

향상된 휴대용 네비게이션을 위한 다수의 필터들을 이용하기 위한 방법 {METHOD AND APPARATUS FOR USING MULTIPLE FILTERS FOR ENHANCED PORTABLE NAVIGATION}
[001] 본 출원은, "METHOD AND APPARATUS FOR USING MULTIPLE FILTERS FOR ENHANCED PORTABLE NAVIGATION"란 명칭으로 2014년 9월 3일자로 출원된 미국 가특허출원 일련번호 62/045,422호를 우선권으로 하며 이의 장점을 청구하며, 이는 전체 인용에 의해 통합된다.
[002] 본 개시는, 다수의 필터들의 사용을 통해 플랫폼(예컨대, 예를 들어 사람, 차량, 또는 선박(vessel))내의 디바이스의 네비게이션 솔루션을 향상시키기 위한 방법 및 장치에 관한 것이며, 여기서 디바이스의 이동도는 플랫폼 내에서 제한될 수도 있거나 또는 제한되지 않을 수도 있으며, 디바이스는 임의의 배향으로 틸트(tilt)될 수 있고 또한 심리스 네비게이션(seamless navigation)을 제공할 수 있다.
[003] 플랫폼의 관성 네비게이션은, 모션-가능(motion-capable) 플랫폼내에 포지셔닝되며 센서들을 포함하는 디바이스의 관성 센서들(예를 들어, 가속도계, 자이로스코프들)에 의해 측정되는 특정 힘들 및 각속도(angular rate)의 적분(integration)에 기초한다. 통상의 시스템들에서, 디바이스는 플랫폼에 테더링된다(tethered). 디바이스로부터의 측정들은 디바이스 및/또는 플랫폼의 포지션, 속도 및 애티튜드(attitude)를 결정하는데 이용될 수 있다.
[004] 통상적으로 플랫폼 내에서의 관성 센서들의 정렬(즉, 플랫폼의 전방, 가로(transverse) 및 수직 축으로 센서들을 포함하는 디바이스의 정렬)이 통상의 관성 네비게이션 시스템들에 요구된다. 관성 센서들이 적절히 정렬되지 않을 경우, 관성 센서들로부터의 측정들을 이용하여 계산되는 포지션들 및 애티튜드는 플랫폼의 상태를 표시할 수 없을 것이다. 이로써, 정확성이 높은 네비게이션 솔루션들을 달성하기 위해, 관성 센서들이 플랫폼 내에 테더링되어야 하고 플랫폼 내에 디바이스의 주의깊은 수동 장착이 요구된다.
[005] 그러나 휴대용 네비게이션 디바이스들(또는 네비게이션-가능 디바이스들)은, 플랫폼(예컨대, 예를 들어, 사람, 차량, 또는 선박 중 임의의 타입)내에서 제한되든 또는 제한되지 않든 움직일 수 있으며, 디바이스를 플랫폼에 주의깊게 테더링 또는 장착하는 것은 필수적이다.
[006] 네비게이션-가능 디바이스들(예를 들어, 모바일/스마트 폰들)이 점점 대중화됨에 따라, 이들에는, 위성 신호들에 대한 명확한 가시선(clear line of sight)이 없는 환경들에서도 플랫폼(예를 들어, 사용자)의 절대적 포지셔닝을 제공하는 것이 가능한 높은 감도 능력들을 갖는 AGPS(Assisted Global Positioning System) 칩셋들이 장착될 수 있게 되었다. AGPS 정보만으로는 충분치 않은 환경들, 예컨대, 깊숙한 실내들에서 또는 문제시되는 다운타운 네비게이션 또는 로컬화에서, 하나의 가능한 솔루션은 셀 타워 식별을 통합하는 것, 또는 가능한 경우, (AGPS 솔루션이 이용불가능한 경우) 포지션 픽스(position fix)에 대한 셀 타워들의 삼각측량을 통합하는 것이다. 다수의 모바일 디바이스들에 이용가능한 이들 2가지 공지된 포지셔닝 방법들에도 불구하고, 정확한 실내 로컬화는 여전히 문제점을 제시하며 현재 LBS(location based services)의 정확성 요구들을 충족시키지 못하고 있다. 부가적으로, 이들 방법들은, 디바이스의 헤딩(heading)에 대한 어떠한 정보도 없이, 오직 플랫폼의 절대적 헤딩만을 제공할 수 있다.
[007] 모바일 네비게이션-가능 디바이스들(예를 들어, 모바일/스마트 폰들)에는 주로 스크린 제어 및 엔터테인먼트 애플리케이션들에 대해 이용되는 MEMS(Micro Electro Mechanical System) 센서들이 장착될 수 있게 되었다. 이들 센서들은, 매우 높은 노이즈, 큰 랜덤 드리프트 레이트들(random drift rates), 및 플랫폼에 대한 디바이스의 빈번한 배향 변화로 인해, 네비게이션 목적을 위해 지금까지는 광범위하게 사용되지 않았다.
[008] 모바일 디바이스들에는 또한 자력계들이 장착되게 될 수 있고, 일부 경우들에서, 사용자가 자신의 신체와 관련하여 특정 배향으로 디바이스를 유지하도록 충분한 주의를 기울이고 있는 경우, 예컨대 자력계를 캘리브레이팅한 후 사용자의 정면에 신중히 홀딩할 때 가속도계들 및 자력계들을 이용한 네비게이션 솔루션이 가능할 수 있다는 것이 밝혀졌다.
[009] 그러나 플랫폼 내에서 네비게이션-가능 디바이스로부터의 측정들을 정확히 이용할 수 있는 네비게이션 솔루션을 제공하여, 이로써 플랫폼에 대한 어떠한 제한도 없이 (즉, 실내 또는 실외 환경들에서) 디바이스/플랫폼의 네비게이션 상태 또는 플랫폼 내에서 디바이스의 이동도를 결정하는 방법이 필요하다. 플랫폼의 애티튜드 및 포지션의 추정은 디바이스의 취급법(예를 들어, 사용자가 네비게이션 동안 디바이스를 홀딩하거나 움직이는 식)과는 독립적이어야 한다. 또한, 이러한 방법의 경우, 디바이스가 성능의 저하없이 심리스 네비게이션 정보를 계속 제공하면서 임의의 배향으로 틸트되는 것을 허용할 필요가 있다.
[0010] 플랫폼 내에서 디바이스의 네비게이션 솔루션을 향상시키기 위한 방법 및 장치가 요구되며, 여기서 디바이스의 이동도는 플랫폼 내에서 제한될 수도 있거나 또는 제한되지 않을 수도 있으며, 디바이스는 임의의 배향으로 틸트될 수 있고 여전히 심리스 네비게이션을 제공할 수 있다.
[0011] 본 방법 및 장치는, 네비게이션 솔루션을 제공하는 제 1 필터 및 네비게이션 솔루션을 향상시키기 위해 제 1 필터에서 이용될 값들을 제공하는 적어도 하나의 제 2 필터를 실행시킨다(run).
[0012] 본 개시는, 적어도 2개의 필터들의 사용을 통해, 플랫폼(예컨대, 예를 들어 사람, 차량, 또는 선박) 내에서 디바이스의 네비게이션 솔루션을 향상시키기 위한 방법 및 장치에 관한 것이며, 여기서 디바이스의 이동도는 플랫폼 내에서 제한될 수도 있거나 또는 제한되지 않을 수도 있으며, 디바이스는 임의의 배향으로 틸트될 수 있으며 상기 네비게이션 솔루션의 성능에서의 저하없이 여전히 심리스 네비게이션 솔루션을 제공할 수 있다.
[0013] 본 방법은, 절대적 네비게이션 정보(예컨대, 예를 들어, GNSS(Global Navigation Satellite System) 또는 WiFi 포지셔닝)가 존재하든 존재하지 않든지 간에, 디바이스 내에서 센서들(예컨대, 예를 들어, 가속도계들, 자이로스코프들, 자력계들, 기압계 등)로부터의 측정들(판독치들(readings))을 이용하여 네이게이션 솔루션을 위해 이용될 수 있다.
[0014] 본 발명의 디바이스는 센서 판독치들을 제공할 수 있는 센서들을 포함하며, 상기 센서들은 센서들의 축들에 대한 대응하는 프레임을 갖는다.
[0015] 본 발명의 방법 및 장치는, 절대적 네비게이션 정보가 존재하든 존재하지 않든지 간에 사용될 수 있다.
[0016] 일부 실시예들에서, 적어도 하나의 제 2 필터가 제 1 필터에서 사용될 값들을 (제 1 필터로부터 이들 값들을 취하는 대신) 제공하여, 성능을 악화시키거나 또는 성능을 불안정하게 만들 수 있는 더블 피드백(double feedback) 문제점들을 방지하여 네비게이션 솔루션을 향상시킨다. 이들 실시예들 중 제 1 그룹에서, 제 2 필터는, 추측 항법(dead-reckoning) 솔루션(예컨대, 보행자 추측 항법, 차량 추측 항법 또는 사이클링 추측 항법)에서의 다른 양들(quantities)(예컨대, 개별 기술들에 의해 추정되는 헤딩 오정렬)과 함께 또는 단독으로 사용될 헤딩 각도를 제공하며, 이는 결과적으로 제 1 필터에 대한 측정 업데이트들을 제공하여 네이게이션 솔루션을 향상시킬 것이다. 이들 실시예들 중 제 2 그룹에서, 제 2 필터는, (이용가능할 경우) 제 2 필터 헤딩으로부터의 절대적 네비게이션 정보로부터 플랫폼 헤딩을 차감함으로써 디바이스와 플랫폼 간의 헤딩 오정렬의 계산을 위한 헤딩 각도를 제공하며; 계산된 헤딩 오정렬은 네비게이션 솔루션을 향상시키기 위해 제 1 필터에 의해 사용된다. 이들 실시예들 중 제 3 그룹에서, 제 2 필터는 네비게이션 솔루션을 향상시키기 위해 제 1 필터에 의해 사용될 롤(roll) 및 피치(pitch) 각도들을 제공한다. 실시예들 중 이 제 3 그룹의 실시예를 달성하는 한 가지 방식으로, 제 2 필터는 디바이스 프레임과 플랫폼 프레임 사이의 변환 행렬(transformation matrix)의 계산에 사용될 롤 및 피치를 제공하며, 이는 결과적으로 네비게이션 솔루션을 향상시키기 위해 제 1 필터에 의해 사용된다. 개별 기술들에 의해 추정되든 아니면 상기 실시예들 중 제 2 그룹에 의해 추정되든지 간에, 헤딩 오정렬은, 디바이스 프레임과 플랫폼 프레임 사이의 변환 행렬을 형성하기 위해 롤 및 피치 오정렬들과 함께 이용될 수 있다. 실시예들 중 제 4 그룹에서, 실시예들 중 상기 3개의 그룹들의 임의의 조합이 사용될 수 있다.
[0017] 일부 실시예들에서, 적어도 하나의 제 2 필터는, 제 1 필터에 대한 더 나은 초기화 또는 재-초기화를 갖게 위해, 제 1 필터가 초기화 또는 재-초기화되기 전에 제 1 필터에서 사용될 값들을 제공함으로써 네비게이션 솔루션을 향상시키도록, 제 1 필터에 사용될 값들을 제공하며, 이는 결과적으로 네비게이션 솔루션을 향상시킬 것이다. 이는 제 1 필터가 네비게이션 페이즈(phase)로 진입하기 전 정렬 페이즈에 있는 동안 발생한다(즉, 제 1 필터는 네비게이션 페이즈로 진입하기 위해 정렬 페이즈에서 초기화 또는 재-초기화된다). 이들 실시예들 중 제 1 그룹에서, 제 2 필터는 제 1 필터에 대한 더 나은 초기화 또는 재-초기화를 위해, 제 1 필터가 초기화 또는 재-초기화되기 전에 롤 및 피치 각도들을 제공하도록 동작한다. 이들 실시예들 중 제 2 그룹에서, 적어도 제 2 필터는 디바이스와 플랫폼 간의 초기 오정렬을 결정하는데 이용되는 복수의 필터들이다. 초기 오정렬은 초기 헤딩 오정렬일 수 있다. 실시예들 중 제 3 그룹에서, 실시예들 중 상기 2개 그룹들의 임의의 조합이 이용될 수 있다. 본원에서 사용되는 것처럼, 초기화는 재-초기화를 포함할 수 있다.
[0018] 일부 실시예들에서, 적어도 하나의 제 2 필터는, 가능하게는 적어도 제 2 필터가 타임아웃 기간 동안 상이한 가정들을 갖는 제 1 필터와 동시에(in parallel) 실행되었을 그 타임아웃 이후, 제 1 필터에서 사용될 값들을 제공함으로써 네비게이션 솔루션을 향상시키도록, 제 1 필터에서 사용될 값들을 제공한다. 타임아웃 기간은, 네비게이션 솔루션에 관한 어떤 모호성을 수반하는 특정 현상이 발생할 경우 시작된다. 타임아웃 기간의 마지막에, 보다 정확한 가정에 관한 결정이 이루어진다; 제 1 필터가 보다 정확한 것이었다는 가정의 경우, 이 필터는 계속 실행중일 것이며 임의의 다른 필터는 무시(dismiss)될 수 있고, 이와 달리, 가장 정확한 가정을 갖는 적어도 제 2 필터 중 하나가 자신의 모든 값들이 제 1 필터를 완전히 오버라이딩하도록 제공할 것이라면, 오버라이딩된 제 1 필터가 실행될 것이고 다른 모든 필터들은 무시될 수 있다.
[0019] 지금까지의 실시예들 중 임의의 것이 단독으로 또는 조합하여 사용될 수 있음이 이해된다.
[0020] 일부 실시예들에서, 플랫폼 내에서 디바이스의 네비게이션 솔루션을 향상시키기 위해 다수의 필터들을 이용하는 방법 및 장치가 대략적으로 설명되며, 상기 디바이스는 센서 판독치들(readings)을 제공할 수 있는 센서들을 가지며, 디바이스의 이동도는 플랫폼 내에서 제한될 수도 있거나 또는 제한되지 않을 수도 있으며, 디바이스는 상기 네비게이션 솔루션의 성능에서의 저하없이 임의의 배향으로 틸트될 수 있으며, 이 방법이 본원에서 정의된다.
[0021] 도 1은 디바이스(a)의 감지 축들, 디바이스 및 플랫폼을 도시하는 일 실시예의 묘사를 도시하며, 여기서 플랫폼은 사람(b) 또는 차량(c)이다.
[0022] 도 2는 본 방법의 일 실시예의 블록도를 도시한다.
[0023] 도 3은 본 방법의 일 실시예의 블록도를 도시한다.
[0024] 도 4는 본 방법의 일 실시예의 블록도를 도시한다.
[0025] 도 5는 본 방법의 일 실시예의 블록도를 도시한다.
[0026] 도 6은 본 방법의 일 실시예의 블록도를 도시한다.
[0027] 도 7은 본 방법의 일 실시예의 블록도를 도시한다.
[0028] 도 8은 본 방법의 일 실시예의 블록도를 도시한다.
[0029] 도 9는 일 실시예에 따른, 네비게이션 솔루션을 향상시키기 위한 휴대용 디바이스의 개략도이다.
[0030] 처음에, 본 개시가 특정하게 예시된 물질들, 아키텍쳐들, 루틴들, 방법들, 또는 구조들에 제한되지 않으며, 이로써, 변경될 수도 있음이 이해될 것이다. 따라서, 본 명세서에 설명된 것들과 유사하거나 동등한 다수의 그러한 옵션들이 본 개시의 실시 또는 실시예들에서 사용될 수 있지만, 바람직한 물질들 및 방법들이 본 명세서에 설명된다.
[0031] 본 명세서에 사용되는 용어는 단지 본 개시의 특정한 실시예들을 설명하려는 목적을 위해서이며, 제한하는 것으로 의도되지 않음이 또한 이해될 것이다.
[0032] 첨부된 도면들과 관련하여 아래에 기재되는 상세한 설명은, 본 개시의 예시적인 실시예들의 설명으로서 의도되며, 본 개시가 실시될 수 있는 유일한 예시적인 실시예들만을 표현하도록 의도되지 않는다. 본 명세서 전반에 걸쳐 사용된 용어 "예시적인"은 "예, 예시, 또는 예증으로서 기능하는 것"을 의미하고, 다른 예시적인 실시예들에 비해 반드시 바람직하거나 유리한 것으로서 해석되지는 않아야 한다. 상세한 설명은 본 명세서의 예시적인 실시예들의 철저한 이해를 제공하려는 목적을 위해 특정한 세부사항들을 포함한다. 본 명세서의 예시적인 실시예들이 이들 특정한 세부사항들 없이 실시될 수도 있다는 것은 당업자들에게 명백할 것이다. 몇몇 예시들에서, 본 명세서에 제시된 예시적인 실시예들의 신규성을 불명료하게 하는 것을 회피하기 위해, 잘 알려진 구조들 및 디바이스들은 블록도 형태로 도시되어 있다.
[0033] 단지 편의성 및 명확화의 목적들을 위해, 상단, 하단, 좌측, 우측, 상향, 하향, 상에(over), 위, 아래, 밑, 뒤, 후방, 및 전방과 같은 방향성 용어들이 첨부된 도면들 또는 칩(chip) 실시예들에 관하여 사용될 수도 있다. 이들 및 유사한 방향성 용어들은, 어떤 방식으로도 본 개시의 범위를 제한하는 것으로 해석되어서는 안된다.
[0034] 본 명세서 및 청구항들에서, 엘리먼트가 다른 엘리먼트에 "연결되는 것(connected to)" 또는 "커플링될(coupled to)되는 것"으로 언급될 때, 이는 다른 엘리먼트에 직접 연결되거나 또는 커플링될 수 있거나 또는 중간(intervening) 엘리먼트들이 존재할 수 있다는 점이 이해될 것이다. 대조적으로, 엘리먼트가 다른 엘리먼트에 "직접 연결되는 것" 또는 "직접 커플링되는 것"으로 언급될 때는, 어떠한 중간 엘리먼트들도 존재하지 않는다.
[0035] 후술하는 상세화된 설명들 중 일부 부분들은, 컴퓨터 메모리 내 데이터 비트들에 대한 동작들의 절차들, 논리 블록들, 프로세싱 및 다른 심볼 표현들과 관련하여 제시된다. 이러한 설명들 및 표현들은 당업자들에게 그들의 작업의 본질을 가장 효율적으로 전달하기 위해 데이터 프로세싱 기술들에서의 당업자들에 의해 이용되는 수단들이다. 본 출원에서, 절차, 논리 블록, 프로세스 등은 원하는 결과로 이끄는 일관성있는 단계들 또는 명령들의 시퀀스인 것으로 인식된다. 단계들은 물리적 양들의 물리적 조작들을 요구하는 것들이다. 보통, 필수적인 것은 아니지만, 이러한 양들은 컴퓨터 시스템에 저장되고, 변환되고, 조합되고, 비교되고 그리고 아니면 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취한다.
[0036] 그러나, 이러한 용어들 및 유사한 용어들 모두가 적절한 물리적 양들과 연관되고 그리고 이러한 양들에 적용된 단지 편리한 라벨들이라는 점을 명심해야 한다. 이하의 논의들로부터 명백한 바와 같이 달리 구체적으로 언급되지 않는 한, 본 출원서 전체적으로, 용어들, 예컨대, "액세스하는(accessing)", "수신하는(receiving)", "전송하는(sending)", "이용하는(using)", "선택하는(selecting)", "결정하는(determining)", "정규화하는(normalizing)", "멀티플라잉하는(multiplying)", "평균화하는(averaging)", "모니터링하는(monitoring)", "비교하는(comparing)", "적용하는(applying)", "업데이트하는(updating)", "측정하는(measuring)", "도출하는(deriving)" 등을 활용하는 논의들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내에서 물리적 (전자) 양들로서 표현되는 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 송신 또는 디스플레이 디바이스들 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로 조작 및 변형시키는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 동작들 및 프로세스들을 지칭한다는 것이 인식된다.
[0037] 본원에 설명된 실시예들은, 하나 또는 그 초과의 컴퓨터들 또는 다른 디바이스들에 의해 실행되는, 프로그램 모듈들과 같은 몇몇 형태의 비-일시적 프로세서-판독가능 매체상에 상주하는 프로세서-실행가능 명령들에 대한 일반적인 맥락에서 논의될 수 있다. 일반적으로, 프로그램 모듈들은, 특정 태스크들을 수행하거나 또는 특정한 추상적인 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 프로그램 모듈들의 기능은 다양한 실시예들에서 원하는 대로 조합되거나 분산될 수 있다.
[0038] 도면들에서, 단일의 블록은 기능 또는 기능들을 수행하는 것으로 설명될 수 있지만; 그러나, 실제 실행에 있어서, 그 블록에 의해 수행되는 기능 또는 기능들은 단일 컴포넌트에서 또는 다수의 컴포넌트들에 걸쳐 수행될 수 있고, 그리고/또는 하드웨어를 이용하여, 소프트웨어를 이용하여, 또는 하드웨어와 소프트웨어의 조합을 이용하여 수행될 수 있다. 하드웨어와 소프트웨어의 상호교환 가능성을 명료하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능에 관련하여 앞서 일반적으로 설명되었다. 이러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 의존한다. 당업자들은, 설명된 기능을 각각의 특정 애플리케이션에 대하여 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들은 본 개시의 범위로부터의 이탈을 야기하는 것으로 해석되지 않아야 한다. 또한, 예시적인 휴대용 디바이스들은 잘-알려진 컴포넌트들, 예를 들어, 프로세서, 메모리 등을 포함하는 도시된 컴포넌트들 이외의 컴포넌트들을 포함할 수 있다.
[0039] 본원에 설명된 기법들은, 특정 방식으로 구현되는 것을 구체적으로 설명되지 않는 한, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 또한, 모듈들 또는 컴포넌트들로서 설명되는 임의의 피처들은 통합 논리 디바이스에서 또는 별도로 이산이지만 상호 운용가능한 논리 디바이스들로서 함께 구현될 수 있다. 소프트웨어에서 구현되는 경우, 기법들은, 실행될 때, 앞서 설명된 방법들 중 하나 또는 그 초과를 수행하는 명령들을 포함하는 비-일시적 프로세서-판독가능 저장 매체에 의해 적어도 부분적으로 실현될 수 있다. 비-일시적 프로세서-판독가능 데이터 저장 매체는, 패키징 재료들을 포함할 수 있는 컴퓨터 프로그램 제품의 일부를 형성할 수 있다.
[0040] 비-일시적 프로세서-판독가능 저장 매체는, 랜덤 액세스 메모리(RAM), 이를테면, 동기식 동적 랜덤 액세스 메모리(SDRAM), 판독 전용 메모리(ROM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 전기적 소거가능 프로그램가능 판독-전용 메모리(EEPROM), 플래시 메모리, 다른 알려진 저장 매체들 등을 포함할 수 있다. 부가적으로 또는 대안적으로, 기법들은, 명령들 또는 데이터 구조들의 형태로 코드를 반송 또는 통신하고, 컴퓨터 또는 다른 프로세서에 의해 액세스, 판독, 및/또는 실행될 수 있는 프로세서-판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다. 예를 들어, 전자 메일을 전송 및 수신하는데 이용되는, 또는 인터넷 또는 로컬 영역 네트워크(LAN)와 같은 네트워크에 액세스하는데 이용되는 것들과 같은 컴퓨터-판독가능 전자 데이터를 반송하기 위해 반송파가 이용될 수 있다. 물론, 청구되는 청구 대상의 범위 또는 사상으로부터 벗어남이 없이, 이러한 구성에 대한 많은 수정들이 이루어질 수 있다.
[0041] 본원에서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 명령들은, 하나 또는 그 초과의 모션 프로세싱 유닛(MPU)들, 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 주문형 명령 세트 프로세서(ASIP)들, 필드 프로그램가능 게이트 어레이(FPGA)들, 또는 다른 동등한 집적 또는 이산 로직 회로소자와 같은 하나 또는 그 초과의 프로세서들에 의해 실행될 수 있다. 본원에서 이용되는 바와 같은 "프로세서"라는 용어는, 전술한 구조 또는 본원에 설명된 기법들의 구현을 위해 적절한 임의의 다른 구조 중 임의의 것을 지칭할 수 있다. 부가하여, 일부 양상들에서, 본원에 설명된 기능은 본원에 설명된 바와 같이 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 또는 그 초과의 회로들 또는 로직 엘리먼트들로 완전히 구현될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 통상의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, MPU와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, MPU 코어와 공조하는 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
[0042] 달리 정의되지 않는 한, 본원에서 이용되는 모든 기술적 및 과학적 용어들은, 본 개시가 속하는 당해 기술분야의 통상의 지식을 가진 자에 의해 일반적으로 이해되는 바와 동일한 의미를 갖는다.
[0043] 마지막으로, 본 명세서에서 그리고 첨부된 청구항들에서 이용되는 바와 같은 단수 형태들("하나" 및 "상기")은, 내용이 명백하게 달리 지시하지 않는 한, 복수의 지시대상들을 포함한다.
[0044] 본 개시는, 적어도 2개의 필터들의 사용을 통해 플랫폼(이를테면, 예를 들어, 사람, 차량, 또는 선박) 내의 디바이스의 네비게이션 솔루션을 향상시키기 위한 방법 및 장치에 관한 것으로, 디바이스의 이동성은 플랫폼 내에서 제한되거나 또는 제한되지 않을 수 있고, 디바이스는 임의의 배향으로 틸팅될 수 있으며, 상기 네비게이션 솔루션의 성능의 저하 없이 심리스 네비게이션 솔루션을 계속 제공할 수 있다. 본원에서 이용된 바와 같은, "네비게이션 솔루션"이라는 용어는, 디바이스의 포지션, 모션 및/또는 배향에 관한 정보를 의미한다. 일 양상에서, 네비게이션 솔루션은 포지션, 속도 및/또는 애티튜드 정보의 임의의 조합을 포함할 수 있다. 예를 들어, 완전한 네비게이션 솔루션은 포지션, 속도 및 애티튜드 정보를 포함할 수 있고, 부분적 네비게이션 솔루션은 포지션 및 애티튜드만을, 애티튜드 및 속도만을, 애티튜드 또는 다른 조합들만을 포함할 수 있다. 네비게이션 솔루션은 또한, 이동 거리 및/또는 스피드와 같은 다른 네비게이션 솔루션 값들로부터 유도된 값들을 포함할 수 있다.
[0045] 플랫폼은, 일시적으로 정적일 수 있는 모션-가능 플랫폼일 수 있다. 일부 예시적인 플랫폼들은 임의의 타입의 선박, 차량 또는 사람일 수 있다. 선박은 육지-기반, 해양용(marine) 또는 공수용(airborne)일 수 있다.
[0046] 절대적 네비게이션 정보는, 네비게이션 및/또는 포지셔닝과 관련된 정보이고, 그리고 예를 들어, 글로벌 네비게이션 위성 시스템들(GNSS)과 같은, 외부 정보 소스들에 의존하는 "참조-기반(reference-based)" 시스템들에 의해 제공된다. 다른 한편, 자립형 네비게이션 정보는, 네비게이션 및/또는 포지셔닝과 관련된 정보이고, 디바이스/플랫폼 내의 자립형 및/또는 "비-참조 기반" 시스템들에 의해 제공되며, 따라서, 중단되거나 또는 차단될 수 있는 외부 정보 소스들에 의존할 필요가 없다. 자립형 정보의 예들은, 가속도계들 및 자이로스코프들과 같은 모션 센서들로부터의 판독치들이다.
[0047] 본 방법은, (예를 들어, GNSS(Global Navigation Satellite System) 또는 WiFi 포지셔닝과 같은) 절대적 네비게이션 정보의 존재 시에 또는 부재 시에, 디바이스 내의 (예를 들어, 가속도계들, 자이로스코프들, 자력계들, 기압계 등과 같은) 센서들로부터의 측정들(판독치들)을 활용하는 네비게이션 솔루션에 대해 사용될 수 있다.
[0048] 본 디바이스는 센서 판독치들을 제공할 수 있는 센서들을 포함하고, 상기 센서들은 센서들의 축들에 대한 대응하는 프레임을 갖는다. 디바이스는 본 방법을 프로세싱하도록 동작하는 프로세서를 더 포함한다.
[0049] 본 방법 및 장치는 절대적 네비게이션 정보의 존재 시에 또는 부재 시에 사용될 수 있다.
[0050] 네비게이션 솔루션을 제공하기 위해 사용되는 필터는, 선형, 비선형, 또는 이들의 조합인 상태 추정 기법이다. 네비게이션 솔루션을 제공하기 위해 사용되는 필터들의 상이한 예들은, 특히, 칼만 필터, 확장 칼만 필터, 비-선형 필터, 예를 들어 입자 필터일 수 있다. 필터 또는 상태 추정 기법은, 예를 들어 가속도계들, 자이로스코프들, 자력계들, 기압계, 주행기록계, 휠 인코더들과 같은 상이한 센서들 및/또는 시스템들로부터의 정보, 또는 (예를 들어, GNSS, WiFi,...와 같은) 절대적 네비게이션 정보를 통합할 수 있다. 필터는, (i) 1D, 2D, 3D 포지션; (ii) 1D, 2D, 3D 속도; (iii) 1D, 2D, 3D 애티튜드 각도들; (iv) 어떤 센서들이 사용되는지 그리고 이들이, 예를 들어, 가속도계 바이어스들/드리프트들 및 스케일 팩터들, 자이로스코프 바이어스들/드리프트들 및 스케일 팩터들, 자력계 바이어스들 및 스케일 팩터들, 기압계 오프셋, 주행기록계 스케일 팩터와 같은, 어떤 타입들의 에러들을 갖는지에 따른 센서 에러들; (v) 절대적 네비게이션 정보에서의 에러들 중 임의의 하나 또는 임의의 조합을 추정할 수 있다.
[0051] 본 방법은,
[0052] 포지션, 속도 및 애티튜드를 포함하거나 또는
[0053] 포지션 및 애티튜드만을 포함하는, 플랫폼 및/또는 디바이스에 관한 네비게이션 솔루션들,
[0054] 또는
[0055] 애티튜드 및 속도만을 포함하거나 또는
[0056] 애티튜드만을 포함하는, 부분적인 네비게이션 솔루션을 수반하는 것들을 포함하는 다양한 애플리케이션들에서 사용될 수 있다.
[0057] 정상 사용 동안에, 디바이스(예를 들어, 휴대용 전화)의 애티튜드는 자유롭게 변화한다. 실제로, 모바일 디바이스들은 종종, 예를 들어, 랜드스케이프 또는 포트레이트 뷰에서 텍스팅하기 위해 포지셔닝되는 경우에, 벨트 상에, 포켓 내에, 또는 (디바이스가 전화인 경우에) 전화 사용 동안에 사용자의 귀 근처에 포지셔닝되는 경우에, 그것의 축 프레임(10)을 구성하는 이들의 주요 축들(예를 들어, x-축, y-축, 및 z-축) 중 임의의 축을 따라 회전 이동들을 겪는다. 그러한 축들 및 이들의 프레임(10)은 도 1a, 도 1b, 및 도 1c에서 정의된다. 도 1a를 고려하면, 디바이스의 전방 축은 x-축으로서 정의되고, 수직 또는 z-축은 아래쪽을 포인팅하고 있고, 횡단 축 또는 y-축은 우향 좌표계를 완성하는 방식으로 정의된다.
[0058] 플랫폼 내의 디바이스의 배향은 플랫폼의 배향을 표현하지 않는다. 도 1(b) 및 (c)와 관련하여, 디바이스는 플랫폼(20)에 대하여, 자신의 주요 축들 중 임의의 것을 따라 많은 회전 운동들을 겪을 수 있다. 디바이스의 회전 운동들은 플랫폼이 배향에서의 동일한 변경들을 고려하고 있음을 표시하지 않는다. 예를 들어, 사용자 또는 플랫폼은 레벨링된 2D 평면 상에서 이동 중일 수 있는 반면, 디바이스는 임의의 수의 가능한 롤 및 피치 각도들을 겪을 수 있다. 도 1(b) 및 (c)는 제약되지 않은 디바이스(10)와 상이한 플랫폼(12) 사이의 몇가지 가능한 관계들을 도시한다.
[0059] 전형적 휴대용 디바이스들은 각각의 감지 축, 즉, x-축, y-축 및 z-축을 따라 가속도들 또는 특정 힘들을 측정하기 위한 가속도계들, 각도 레이트들을 측정하기 위한 자이로스코프들을 포함할 수 있다. 디바이스는, 그 중에서도, 예를 들어, 자력계들, 기압계와 같은 다른 센서들을 포함할 수 있다. "롤"은 전방 x-축을 따른 디바이스의 회전으로서 정의되는 반면, "피치"는 가로 y-축을 따른 회전이다. 디바이스 사용자는 원하는 대로 디바이스를 자유롭게 회전할 수 있기 때문에, 디바이스는 플랫폼과 관련하여 롤, 피치 및 헤딩(heading)에서의 몇몇 변경들을 가질 수 있다.
[0060] 본 방법 및 장치는, 네비게이션 솔루션을 향상시키기 위해, 네비게이션 솔루션을 제공하는 제 1 필터 및 제 1 필터에서 이용될 값들을 제공하는 적어도 하나의 제 2 필터를 실행시킨다(run). 도 2는 본 방법의 실시예의 개략도를 도시한다.
[0061] 일부 실시예들에서, 도 2에 의해 표시된 바와 같이, 적어도 하나의 제 2 필터(20)는 제 1 필터(22)에서 사용될 값들을 (제 1 필터로부터 이들 값을 취하는 대신) 제공하여, 성능을 악화시키거나 성능을 불안정하게 만들 수 있는 더블 피드백 문제점들을 방지하여 네비게이션 솔루션을 향상시킨다.
[0062] 다음의 설명은 도 3에 의해 표시된 그 실시예들 중 제 1 그룹을 논의하고, 여기서, 적어도 제 2 필터(30)는 제 1 필터(32)에서 사용될 값들을 (제 1 필터로부터 이들 값을 취하는 대신) 제공하여, 성능을 악화시키거나 성능을 불안정하게 만들 수 있는 더블 피드백 문제점들을 방지하여 네비게이션 솔루션을 향상시킨다. 제 2 필터는 추측-항법 솔루션(34)(이를테면, 보행자 추측 항법(PDR:pedestrian dead-reckoning), 차량 추측 항법, 또는 사이클링 추측-항법)에서 다른 양들(이를테면, 개별 기술들에 의해 추정되는 헤딩 오정렬)과 함께 또는 단독으로 이용될 헤딩 각도를 제공하며, 이는 결과적으로, 제 1 필터에 대한 측정 업데이트들을 제공하여 네비게이션 솔루션을 향상시킬 것이다. 이는 (그것이 제 2 필터로부터 나오므로) 헤딩 정보의 디커플링을 달성할 것이며, 이는, 그 필터의 헤딩 추정에 대해서는 최적이 아니지만, 제 1 필터의 포지션 추정들을 최적화시키는 방식(다른 업데이트들의 일 예는 GNSS 또는 WiFi과 같은 절대적 네비게이션 정보 업데이트들을 핸들링하는 방식임)에서 이용될 수 있는 추측-항법 업데이트들 및 다른 업데이트들과 같은 제 1 필터의 솔루션에 영향을 미칠 수 있는 다른 인자들에 의해 영향을 받지 않게 할 것이다. 디커플링 이익과 더불어, 다음의 설명은 더블 피드백 및 제 2 필터의 이용이 그것을 어떻게 회피하는지를 설명한다. 추측-항법 결과들은 이 추측-항법 루틴에 대해 제공된 헤딩에 의존하고; 추측-항법 루틴에 제공된 헤딩이 제 1 필터 추정으로부터 발생되고, 그 다음, 추측-항법 결과들이 제 1 필터로의 측정 업데이트들로서 이용되는 경우, 더블 피드백 문제가 발생할 수 있고, 성능이 악화될 수 있고 그리고/또는 제 1 필터가 불안정해질 수 있다. 예를 들어, 헤딩이 드리프팅 중인 경우, 추측-항법 업데이트들도 역시 드리프팅 중일 것이므로, 헤딩은 제 1 필터로의 추측-항법 업데이트들로 인하여 점점 더 드리프팅되기 시작할 것이다. 이 더블 피드백은 전체 솔루션으로 하여금 극도로 악화되게 하거나 완전히 불안정해지게 할 수 있다. 제 2 필터 헤딩의 이용을 통해 더블 피드백을 방지하는, 제 1 필터에 대한 추측-항법 업데이트들의 애플리케이션은 제 1 필터로부터의 네비게이션 솔루션의 더 나은 포지셔닝 성능을 제공한다는 점이 주목될 것이다. 추측-항법 루틴은 대응하는 추측-항법 수식들만을 실행시킬 수 있거나, 그것은 (제 1 및 제 2 필터들과 상이한) 자기 자신의 필터를 실행시킬 수 있다. 추측-항법 루틴이 자기 자신의 필터를 실행시키는 후자의 경우, 이 필터는 예를 들어, 절대적 네비게이션 정보와 같은 다른 시스템들 또는 센서들과의 추측-항법 수식들로부터의 솔루션을 통합시킬 수 있다. 추측-항법 솔루션의 애플리케이션에 대한 예들 중 하나는 사람이 걷는 경우 또는 사람이 뛰는 경우들에서 PDR의 애플리케이션에 대한 것이고, 제 1 필터의 예는 포지션, 속도, 애티튜드(attitude) 및 관성 센서 에러들을 추정하기 위해 INS에 대해 실행하는 필터일 수 있다. 이러한 전술된 예들에서, 제 1 필터에 대한 PDR 업데이트는 네비게이션 솔루션의 더 나은 포지셔닝 성능을 제공할뿐만 아니라, 관성 센서 에러들의 추정을 돕고, 이는 결국, 성능의 향상을 돕는다. 제 1 및 제 2 필터들 간의 디커플링은 헤딩 추정에 대한 제 2 필터 성능의 최적화 및 포지션 추정에 대한 제 1 필터 성능의 최적화를 인에이블한다. 도 3은 위에서 논의된 실시예들의 이러한 제 1 그룹으로부터의 실시예의 예시적 개략도를 도시한다.
[0063] 하기는 도 4에 의해 표시된 바와 같이 그러한 실시예들 중 제 2 그룹을 논의하며, 도 4에서는, 적어도 제 2 필터(40)는 제 1 필터(42)에서 사용될 값들을 (제 1 필터로부터 이들 값들을 취하는 대신) 제공하여, 성능을 악화시키거나 또는 성능을 불안정하게 만들 수 있는 더블 피드백 문제점들을 방지하여 네비게이션 솔루션을 향상시킨다. 제 2 필터는, (이용 가능할 때) 절대적 네비게이션 정보(44)로부터의 플랫폼 헤딩을 제 2 필터 헤딩으로부터 차감함으로써 디바이스와 플랫폼 사이의 헤딩 오정렬의 계산을 위한 헤딩 각도를 제공하고; 계산된 헤딩 오정렬은, 네비게이션 솔루션을 향상시키기 위해 제 1 필터에 의해 사용된다. 이는 (그것이 제 2 필터로부터 나오므로) 헤딩 오정렬 정보의 디커플링을 달성할 것이고, 이는, 제 1 필터의 헤딩 추정에 대해서는 최적이 아닌, 그리고 이에 따라 헤딩 오정렬 계산에 대해 최적이 아니지만, 제 1 필터의 포지션 추정들을 최적화시키는 방식에서 이용될 수 있는 업데이트들과 같은 제 1 필터의 솔루션에 영향을 미칠 수 있는 다른 인자들에 의해 영향을 받지 않게 할 것이다. 그러한 업데이트들의 하나의 예로는 GNSS 또는 WiFi와 같은 절대적 네비게이션 정보 업데이트들을 처리하는 방법이 있다. 디커플링 이익에 부가하여, 하기에서는 더블 피드백, 및 제 2 필터의 사용이 더블 피드백을 어떻게 회피하는지를 설명한다. 헤딩 오정렬 계산은 제공되는 헤딩 추정치에 따라 좌우되고; 오정렬 계산을 위해 제공되는 헤딩이 제 1 필터 추정으로부터 발생되고, 이후, 계산된 오정렬이 제 1 필터에서 사용되는 경우, 더블 피드백 문제점이 발생할 수 있고, 성능이 악화될 수 있으며, 그리고/또는 제 1 필터가 불안정하게 될 수 있다. 예를 들어, 추정된 헤딩이 드리프팅되고 있는 경우, 헤딩 오정렬이 또한 드리프팅될 것이며, 이에 따라 헤딩이 더욱 드리프팅될 수 있는 식이다. 이러한 더블 피드백은 전체 솔루션으로 하여금 극도로 악화되게 또는 완전히 불안정해지게 할 수 있다. 도 4는 위에서 논의된 실시예들의 이러한 제 2 그룹으로부터의 실시예의 예시적 개략도를 도시한다.
[0064] 하기는 도 5에 의해 표시된 바와 같이 그러한 실시예들 중 제 3 그룹을 논의하며, 도 5에서는, 적어도 제 2 필터(50)는 성능을 악화시키거나 그것을 불안정하게 할 수 있는 더블 피드백 문제들을 회피하기 위해 제 1 필터로부터 그 값들을 취하는 것 대신 네비게이션 솔루션을 향상시키기 위해 제 1 필터(52)에서 이용될 값들을 제공한다. 제 2 필터는 네비게이션 솔루션을 향상시키기 위해 제 1 필터에 의해 사용될 롤 및 피치 각도들을 제공한다. 실시예들의 이러한 제 3 그룹에서 이를 달성하기 위한 하나의 방법에서는, 제 2 필터가 디바이스 프레임과 플랫폼 프레임 사이의 변환 행렬의 계산에 사용될 롤 및 피치를 제공하고, 이는 결과적으로 네비게이션 솔루션을 향상시키기 위해 제 1 필터에 의해 사용된다. 헤딩 오정렬은, 별개의 기술들에 의해 추정되든지 또는 위의 실시예들의 제 2 그룹에 의해 추정되든지 간에, 디바이스 프레임과 플랫폼 프레임 사이의 변환 행렬을 형성하기 위해, 롤 및 피치 각도들과 함께 또는 롤 및 피치 오정렬들과 함께 사용될 수 있다. 이는 (그것이 제 2 필터로부터 나오므로) 롤, 피치, 롤 오정렬, 피치 오정렬, 또는 헤딩 오정렬 정보의 디커플링을 달성할 것이고, 그리고 제 1 필터의 솔루션에 영향을 끼칠 수 있는 다른 인자들, 예를 들어, 제 1 필터의 포지션 추정치들을 최적화시키는 방식으로 사용될 수 있지만 그 필터의 롤, 피치, 및/또는 헤딩 추정치에 대해 최적이 아니고 그리고 이에 따라 롤, 피치, 및/또는 헤딩 오정렬 계산에 대해 최적이 아닌 업데이트들에 의해 그것이 영향받지 않게 할 것이다. 그러한 업데이트들의 하나의 예는 GNSS 또는 WiFi와 같은 절대적 네비게이션 정보 업데이트들을 처리하는 방법이다. 디커플링 이익에 부가하여, 하기는 더블 피드백, 및 제 2 필터의 사용이 더블 피드백을 어떻게 회피하는지를 설명한다. 롤, 피치, 롤 오정렬, 피치 오정렬, 또는 헤딩 오정렬이 제 1 필터 추정치로부터 나오고, 이후, 제 1 필터에서 사용되는 경우, 더블 피드백 문제점이 발생할 수 있고, 성능이 악화될 수 있으며, 그리고/또는 제 1 필터가 불안정하게 될 수 있다. 예를 들어, 추정된 롤, 피치, 및/또는 헤딩이 드리프팅되고 있는 경우, 롤 오정렬, 피치 오정렬, 및/또는 헤딩 오정렬이 또한 드리프팅될 것이며, 이에 따라 롤, 피치, 및/또는 헤딩이 더욱더 드리프팅될 수 있는 식이다. 이러한 더블 피드백은 전체 솔루션으로 하여금 극도로 악화되게 또는 완전히 불안정해지게 할 수 있다. 디바이스 프레임과 플랫폼 프레임 사이의 변환 행렬을 형성하기 위해 그리고 추가로, 제 1 필터로부터의 네비게이션 솔루션의 성능을 향상시키기 위해서 이를 사용하기 위해 롤, 피치, 롤 오정렬, 피치 오정렬, 및/또는 헤딩 오정렬의 활용의 하나의 예는, 제 1 필터에 대한 측정 업데이트들, 예를 들어 비-홀로노믹 제한(NHC:Non-Holonomic Constraint)들로부터의 측정 업데이트들을 제공하기 위한 플랫폼 상에서의 모션 제한들의 사용을 통해 이루어진다. 도 5는 위에서 논의된 실시예들 중 이러한 제 3 그룹으로부터의 실시예의 예시적 개략도를 도시한다.
[0065] 적어도 제 2 필터가 제 1 필터에서 사용될 값들을 (제 1 필터로부터 이들 값을 취하는 대신) 제공하여, 성능을 악화시키거나 성능을 불안정하게 만들 수 있는 더블 피드백 문제점들을 방지하여 네비게이션 솔루션을 향상시키는, 이러한 실시예들 중 제 4 그룹에서, 실시예들의 상기 3개의 그룹들의 임의의 결합이 사용될 수도 있다.
[0066] 몇몇 실시예들에서, 적어도 제 2 필터는, 제 1 필터에 대한 더 나은 초기화 또는 재-초기화를 갖게 하기 위하여 제 1 필터가 초기화되거나 또는 재-초기화되기 전에 제 1 필터에서 사용될 값들을 제공함으로써, 네비게이션 솔루션을 향상시키기 위해 제 1 필터에서 사용될 값들을 제공하며, 이는, 결과적으로 네비게이션 솔루션을 향상시킬 것이다. 본 명세서에서 사용된 바와 같이, 초기화는 재-초기화를 포함할 수도 있다.
[0067] 다음은, 도 6에 의해 표시된 바와 같은 그들 실시예들 중 제 1 그룹을 설명하며, 여기서, 적어도 제 2 필터(60)는, 더 나은 초기화 또는 재-초기화를 갖게 하기 위하여 제 1 필터가 초기화 또는 재-초기화되기 전에 제 1 필터(62)에서 사용될 값들을 제공한다. 제 2 필터는, 제 1 필터에 대한 더 나은 초기화 또는 재-초기화를 갖게 하기 위하여 제 1 필터가 초기화하거나 또는 재-초기화하기 전에, 롤 및 피치 각도들을 제공하도록 동작한다. 이것은, 제 1 필터에 대한 더 나은 초기화 또는 재-초기화를 갖게 하고 그에 따라 네비게이션 페이즈에서 더 나은 솔루션을 갖게 하기 위하여, 네비게이션 페이즈로 진행하기 전에 제 1 필터가 정렬 페이즈에 있는 동안(즉, 네비게이션 페이즈(66)로 진행하기 위해 제 1 필터가 정렬 페이즈(64)에서 초기화 또는 재-초기화하는 동안) 발생한다. 도 6은 상술된 실시예들 중 이러한 제 1 그룹으로부터의 일 실시예의 예시적인 개략도를 도시한다.
[0068] 다음은, 도 7에 의해 표시된 바와 같은 그들 실시예들 중 제 2 그룹을 설명하며, 여기서, 적어도 제 2 필터(70)는, 더 나은 초기화 또는 재-초기화를 갖게 하기 위하여 제 1 필터가 초기화 또는 재-초기화되기 전에 제 1 필터(72)에서 사용될 값들을 제공한다. 적어도 제 2 필터는, 디바이스와 플랫폼 사이의 초기 오정렬을 결정하는데 사용되는 복수의 필터들이다. 오정렬 공간을 커버하기 위한 상이한 오정렬 후보들이 생성되며; 각각의 후보는 복수의 필터들 중에서 하나의 필터의 초기화에서 사용되고, 절대적 네비게이션 정보는 오정렬 후보와 함께 초기화를 위해 사용될 수도 있다. 그 후, 복수의 필터들 중 각각의 필터는, 임의의 절대적 네비게이션 정보 업데이트들 없이 구동한다. 특정한 기간 이후, 복수의 필터들이 중지되며, 시간의 기간에 걸친 그들의 결과들은, (74)에서 그들 각각을 절대적 네비게이션 정보와 비교함으로써 평가된다. 오정렬 후보들의 해상도 및 오정렬 공간에 대한 그들의 커버리지가 충분하면, 초기 오정렬은, 절대적 네비게이션 정보와 비교되는 경우, 최상의 필터의 초기화에서 사용되는 오정렬 후보이도록 선택된다. 오정렬 후보들의 해상도 및 오정렬 공간에 대한 그들의 커버리지가 충분하지 않으면, 복수의 필터들을 구동하는 제 2 라운드가 수행될 수 있다. 이러한 후자의 경우에서, 복수의 필터들을 구동하는 제 1 라운드로부터의 오정렬 후보들의 최상의 섹터는, 절대적 네비게이션 정보와의 비교에 기초하여 선택된다. 선택된 섹터를 커버하기 위한 상이한 오정렬 후보들이 생성되며; 각각의 후보는 제 1 라운드와 유사한 방식으로 복수의 필터들 중에서 하나의 필터의 초기화에서 사용된다. 그 후, 복수의 필터들 중 각각의 필터는, 제 1 라운드와 유사한 방식으로 구동한다. 특정한 기간 이후, 복수의 필터들이 중지되며, 그들의 결과들은 절대적 네비게이션 정보와 비교된다. 어느 하나의 최상의 후보 오정렬이 선택되거나, 절차가 더 많은 라운드들 동안 계속된다. 초기 오정렬은 초기 헤딩 오정렬일 수도 있다. 초기 오정렬은 초기 롤, 피치, 및/또는 헤딩 오정렬일 수도 있다. 절대적 네비게이션 정보는 다른 것들 중에서 GNSS 또는 WiFi일 수도 있다. 상술된 기술의 시연에 대해, 다음의 경우는 예로서 설명된다. 초기 오정렬이 초기 헤딩 오정렬인 경우 및 절대적 네비게이션 정보가 GNSS 포지션 및 속도인 경우, 복수의 필터들의 결과들의 절대적 네비게이션 정보에 대한 비교는, (i) 복수의 필터들로부터의 각각의 필터의 포지션 결과들을 GNSS로부터의 포지션과 비교하는 것; (ii) 복수의 필터들로부터의 각각의 필터의 속도 결과들을 GNSS로부터의 속도와 비교하는 것; 및 (iii) 복수의 필터들로부터의 각각의 필터의 포지션 및 속도 결과들을 GNSS로부터의 포지션 및 속도와 비교하는 것에 의한 것일 수도 있다. 도 7은 상술된 실시예들 중 이러한 제 2 그룹으로부터의 일 실시예의 예시적인 개략도를 도시한다.
[0069] 더 나은 초기화 또는 재-재초기화를 갖게 하기 위해서, 제 1 필터가 초기화하거나 또는 재초기화하기 전에 적어도 제 2 필터가 제 1 필터에서 사용될 값들을 제공하는, 그러한 실시예들 중 제 3 그룹에서, 실시예들의 상기 2개의 그룹들의 임의의 조합이 사용될 수 있다.
[0070] 일부 실시예들에서, 도 8에 나타내어진 바와 같이, 적어도 제 2 필터(80)는, 가능하게는 적어도 제 2 필터가 타임아웃 기간 동안 상이한 가정들을 갖는 제 1 필터와 동시에(in parallel) 실행되었을 그 타임아웃 이후, 제 1 필터(82)에서 사용될 값들을 제공함으로써 네비게이션 솔루션을 향상시키도록, 제 1 필터에서 사용될 값들을 제공한다. 타임아웃 기간은, 84에서, 네비게이션 솔루션에 관한 어떤 모호성을 수반하는 특정 현상이 발생할 경우 시작된다. 타임아웃 기간의 마지막에, 86에서, 보다 정확한 가정에 관한 결정이 이루어진다; 제 1 필터가 보다 정확한 것이었다는 가정의 경우, 이 필터는 계속 실행중일 것이며 임의의 다른 필터는 무시(dismiss)될 수 있고, 이와 달리, 가장 정확한 가정을 갖는 적어도 제 2 필터 중 하나가 자신의 모든 값들이 제 1 필터를 완전히 오버라이딩하도록 제공할 것이라면, 88에서, 오버라이딩된 제 1 필터가 실행될 것이고 다른 모든 필터들은 무시될 수 있다. 도 8은 상기 언급된 실시예들의 이 그룹으로부터의 일 실시예의 예시적인 개략도를 도시하며, 선택적인 루틴들은 점선들 및 점선 박스들로 나타내어진다.
[0071] 상기 실시예들 중 임의의 실시예는 단독으로 또는 결합하여 사용될 수 있다는 것을 이해한다.
[0072] 본원에 제시된 방법 및 장치는, 네비게이션 솔루션의 타입과 무관하게, 사용된 센서들의 타입과 무관하게, 그리고, 본 네비게이션 솔루션에서 사용된 필터링 기술 또는 상태 추정의 타입과 무관하게 네비게이션 솔루션들을 위해 적용가능하다. 상태 추정 기술은 선형, 비선형 또는 이들의 조합일 수 있다. 네비게이션 솔루션에서 사용된 기술들의 상이한 예들이 칼만 필터, 확정 칼만 필터, 비-선형 필터, 이를 테면, 입자 필터, 또는 인공 지능 기술, 이를 테면, 신경망 또는 퍼지 시스템들에 의존할 수 있다. 네비게이션 솔루션에서 사용되는 상태 추정 기술은 임의의 타입의 시스템 및/또는 측정 모델들을 사용할 수 있다. 네비게이션 솔루션은, 다른 것들 중에서도 상이한 센서들 및 시스템들을 통합시키기 위한 임의의 방식, 이를 테면, 예를 들어, 약한 결합의 통합 방식 또는 강한 결합의 통합 방식을 따를 수 있다. 네비게이션 솔루션은 관성 센서들 및/또는 다른 사용된 센서들의 에러들에 대해 (선형 또는 비선형, 단기 메모리 또는 장기 메모리 여부의) 모델링 및/또는 자동 캘리브레이션을 활용할 수 있다.
[0073] 본 방법 및 장치는 전달 모드를 설정하는 모드 검출 기술 또는 전달 모드 기술과 결합될 수 있다. 이는 다른 가능한 모드들 중에서도, 예를 들어, 걷기, 뛰기, 자전거타기 및 선박 내(예컨대, 운전하기)와 같은 상이한 시나리오들을 가능케 한다.
[0074] 풀(full) 네비게이션 솔루션(포지션, 속도 및 애티튜드, 및 포지션 및 애티튜드를 포함함)을 포함하는 휴대용 디바이스들의 애플리케이션들 외에도, 본 방법이 사용자 경험 및 유용성을 향상시키기 위해 필요로 되는 다른 애플리케이션(풀 네비게이션 솔루션 또는 애티튜드 전용 솔루션 및 애티튜드 및 속도 솔루션을 추정하는 것을 포함할 수 있음)이 있으며, 예를 들어, 비디오 게임 장비; 증강 현실 장비; 또는 피트니스 디바이스들과 같은 다수의 시나리오들에서 응용 가능하게 될 수 있다.
[0075] 위에서 언급된 바와 같이, 휴대용 디바이스는 네비게이션 솔루션을 향상시키는데 이용될 수 있는 측정들을 제공하는 관성 모션 센서들을 포함하는 센서 어셈블리를 포함할 수 있다. 이들 피처들을 예시하는 것을 돕기 위해, 대표적인 휴대용 디바이스(100)가 도 9에서 고레벨 개략적 블록들로 도시된다. 인지될 바와 같이, 디바이스(100)는 사용자에 의해 공간 내에서 움직일 수 있고 공간 내의 그의 모션, 위치 및/또는 배향이 이에 따라 감지될 수 있는 핸드헬드 디바이스와 같은 디바이스 또는 장치로서 구현될 수 있다. 예를 들어, 이러한 핸드헬드 디바이스는 모바일 전화(예를 들어, 셀룰러 전화, 로컬 네트워크 상에서 실행되는 전화, 또는 임의의 다른 전화 핸드셋), 태블릿, 개인용 디지털 보조기기(PDA), 비디오 게임 플레이어, 비디오 게임 제어기, 네비게이션 디바이스, 웨어러블 디바이스(예를 들어, 안경, 시계, 벨트 클립), 피트니스 트래커, 가상 또는 증강 현실 장비, MID(mobile internet device), PND(personal navigation device), 디지털 정지 카메라, 디지털 비디오 카메라, 비노큘러들, 망원 렌즈들, 휴대용 음악, 비디오 또는 미디어 플레이어, 원격 제어, 또는 다른 핸드헬드 디바이스, 또는 이들 디바이스들 중 하나 또는 그 초과의 결합일 수 있다.
[0076] 도시된 바와 같이, 디바이스(100)는 하나 또는 그 초과의 마이크로프로세서들, 중앙 처리 장치들(CPU들), 또는 디바이스(100)의 기능들과 연관되는, 메모리(104)에 저장될 수 있는 소프트웨어 프로그램들을 실행하기 위한 다른 프로세서들일 수 있는 호스트 프로세서(102)를 포함할 수 있다. 소프트웨어의 다수의 계층들은 호스트 프로세서(102)를 통한 이용을 위해 전자 메모리와 같은 컴퓨터 판독 가능한 매체 또는 하드디스크, 광학 디스크 등과 같은 다른 저장 매체의 임의의 결합일 수 있는 메모리(104)에 제공될 수 있다. 예를 들어, 운영 체제 계층은 시스템 자원들을 실시간으로 제어 및 관리하고, 애플리케이션 소프트웨어 및 다른 계층들의 기능들을 인에이블하고, 애플리케이션 프로그램들을 다른 소프트웨어 및 디바이스(100)의 기능들과 인터페이싱하도록 디바이스(100)에 대해 제공될 수 있다. 유사하게, 메뉴 네비게이션 소프트웨어, 게임들, 카메라 기능 제어, 네비게이션 소프트웨어, 통신 소프트웨어, 예컨대, 텔레포니 또는 무선 로컬 영역 네트워크(WLAN) 소프트웨어, 또는 매우 다양한 다른 소프트웨어 및 기능 인터페이스들 중 임의의 것과 같은 상이한 소프트웨어 애플리케이션 프로그램들이 제공될 수 있다. 몇몇 실시예들에서, 다수의 상이한 애플리케이션들이 단일 디바이스(100) 상에 제공될 수 있고, 이들 실시예들 중 일부에서, 다수의 애플리케이션들이 동시에 실행될 수 있다.
[0077] 디바이스(100)는 센서 프로세서(108), 메모리(110) 및 관성 센서(112)를 특징으로 하는 통합된 모션 프로세싱 유닛(MPUTM)(106) 형태로 본원에 도시된 바와 같은 적어도 하나의 센서 어셈블리를 포함한다. 메모리(110)는 센서 프로세서(108)의 로직 또는 제어기들을 사용하여 후술된 바와 같은 관성 센서(112) 및/또는 다른 센서들에 의해 출력된 데이터를 프로세싱할 뿐만 아니라 관성 센서(112) 또는 다른 센서들에 의해 출력된 미가공 데이터 및/또는 모션 데이터를 저장하기 위한 알고리즘들, 루틴들 또는 다른 명령들을 저장할 수 있다. 관성 센서(112)는 공간에서 디바이스(100)의 모션을 측정하기 위한 하나 또는 그 초과의 센서들일 수 있다. 구성에 따라, MPU(106)는 디바이스의 하나 또는 그 초과의 회전 축들 및/또는 하나 또는 그 초과의 가속도 축들을 측정한다. 일 실시예에서, 관성 센서(112)는 회전 모션 센서들 또는 선형 모션 센서들을 포함할 수 있다. 예를 들면, 회전 모션 센서들은 하나 또는 그 초과의 직교 축들을 따라 각 속도를 측정하기 위한 자이로스코프들일 수 있고, 선형 모션 센서들은 하나 또는 그 초과의 직교 축들을 따라 선형 가속도를 측정하기 위한 가속도계들일 수 있다. 일 양상에서, 3개의 자이로스코프들 및 3개의 가속도계들이 사용될 수 있어서, 센서 프로세서(108)에 의해 수행되는 센서 융합 동작, 또는 디바이스(100)의 다른 프로세싱 자원들은 모션의 6개의 축 결정을 제공하기 위해 관성 센서(112)로부터의 데이터를 조합한다. 원할 때, 관성 센서(112)는 단일 패키지로 MPU(106)와 통합될 MEMS(Micro Electro Mechanical System)를 사용하여 구현될 수 있다. 호스트 프로세서(102) 및 MPU(106)의 적절한 구성들에 관한 예시적인 세부사항들은 1007, 7월 6일에 출원된 공동-계류중인, 공동으로 소유된 미국 특허 출원 일련 번호 제 11/774,488 호 및 1008, 4월 11일에 출원된 제 12/106,921호에서 발견될 수 있고, 그로 인해 상기 출원들의 전체 내용이 인용에 의해 통합된다. 디바이스(100) 내의 MPU(106)에 대한 적절한 구현들은 캘리포니아, 서니베일 소재의 InvenSense, Inc로부터 입수 가능하다.
[0078] 대안적으로 또는 게다가, 디바이스(100)는 외부 센서((114) 형태의 센서 어셈블리를 구현할 수 있다. 외부 센서는 가속도계 및/또는 자이로스코프와 같이 앞서 설명된 하나 또는 그 초과의 센서들을 나타낼 수 있다. 본원에 사용된 바와 같이, "외부"는, MPU(106)와 통합되지 않고 디바이스(100)에 대해 원격 또는 로컬일 수 있는 센서를 의미한다. 또한, 대안적으로 또는 게다가, MPU(106)는 디바이스(100)의 주변 환경에 관한 하나 또는 그 초과의 양상들을 측정하도록 구성된 보조 센서(116)로부터 데이터를 수신할 수 있다. 예를 들면, 기압계 및/또는 자력계는 관성 센서(112)를 사용하여 이루어지는 포지션 결정들을 정제하는데 사용될 수 있다. 일 실시예에서, 보조 센서(116)는 9개의 모션 축 결정을 제공하기 위해 자이로스코프 및 가속도계 관성 센서 데이터와 융합될 출력 데이터 및 3개의 직교 축들을 따라 측정하는 자력계를 포함할 수 있다. 다른 실시예에서, 보조 센서(116)는 또한, 10개의 모션 축 결정을 제공하기 위해 다른 센서 데이터와 융합될 수 있는 고도 결정을 제공하기 위한 기압계를 포함할 수 있다. 하나 또는 그 초과의 센서들이 MEMS 기반이라는 맥락으로 설명되지만, 본 개시의 기술들은 임의의 센서 설계 또는 구현에 적용될 수 있다.
[0079] 도시된 실시예에서, 디바이스(100)의 호스트 프로세서(102), 메모리(104), MPU(106) 및 다른 컴포넌트들은 버스(118)를 통해 커플링될 수 있고, 버스(118)는 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) 또는 다른 등가물과 같은 임의의 적절한 버스 또는 인터페이스일 수 있다. 아키텍처에 따라, 상이한 버스 구성들이 원할 때 사용될 수 있다. 예를 들면, 부가적인 버스들은 가령, 호스트 프로세서(102)와 메모리(104) 사이의 전용 버스를 사용함으로써 디바이스(100)의 다양한 컴포넌트들을 커플링하는데 사용될 수 있다.
[0080] 본 개시에 따라 도 2-8에 관련하여 앞서 설명된 바와 같이 제 1 필터 및 적어도 하나의 제 2 필터를 포함할 수 있는 필터들(120)은, 호스트 프로세서(102)에 의해 판독 및 실행될 수 있는 메모리(104)에 저장된 한 세트의 적절한 명령들로서 구현될 수 있다. 다른 실시예들은 호스트 프로세서(102), MPU(106) 및 디바이스(100)에 의해 제공된 다른 자원들 사이의 프로세싱의 임의의 원하는 분할을 특징으로 할 수 있거나, 소프트웨어, 하드웨어 및 펌웨어의 임의의 원하는 조합을 사용하여 구현될 수 있다.
[0081] 소프트웨어의 다수의 계층들은 원하는 대로 이용되며 메모리(104), 메모리(110), 또는 다른 적당한 위치의 임의의 결합에 저장될 수 있다. 예를 들어, 모션 알고리즘 계층은 모션 센서들 및 다른 센서들로부터 제공되는 원시 센서 데이터에 대한 하위-레벨 프로세싱을 제공하는 모션 알고리즘들을 제공할 수 있다. 센서 디바이스 드라이버 계층은 디바이스(100)의 하드웨어 센서들에 대한 소프트웨어 인터페이스를 제공할 수도 있다. 또한, 적당한 애플리케이션 프로그램 인터페이스(API)가 제공되어, 예를 들어 원하는 센서 프로세싱 태스크들을 송신하도록 호스트 프로세서(102)와 MPU(106) 간의 통신을 가능하게 할 수도 있다. 이에 따라, 소프트웨어로 구현되는 양상들은 애플리케이션 소프트웨어, 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함할 수도 있지만 이들에 한정된 것은 아니고, 호스트 프로세서(102), 센서 프로세서(108), 전용 프로세서 또는 디바이스(100)의 임의의 다른 프로세싱 리소스들과 같은 컴퓨터 또는 임의의 명령 실행 시스템에 의해 또는 이와 관련하여 사용할 프로그램 코드를 제공하는 컴퓨터-사용 가능 또는 컴퓨터-판독 가능 매체로부터 액세스 가능한 컴퓨터 프로그램 물건의 형태를 취할 수도 있다.
[0082] 디바이스(100)는 또한 참조-기반 전략, 자급 전략, 또는 전략들의 임의의 결합을 이용하는 네비게이션 모듈(122)을 포함할 수도 있다. 네비게이션 모듈(122)은 임의의 원하는 정도의 위치 인식 능력들을 제공할 수도 있다. 네비게이션 모듈(122)에 의해 구현될 수 있는 대표적인 기술들은 글로벌 포지셔닝 시스템(GPS), 글로벌 네비게이션 위성 시스템(GLONASS), Galileo 및 Beidou뿐만 아니라, WiFiTM 포지셔닝, 셀룰러 타워 포지셔닝, BluetoothTM 포지셔닝 비컨들, 추측 항법 또는 다른 비슷한 방법들도 포함한다. 네비게이션 모듈(122)은 또한 무선 통신 프로토콜로부터의 정보를 사용하여 신호 삼변 측량을 이용한 포지션 결정을 제공하도록 구성될 수도 있다. 범용 지상 무선 액세스(UTRA), 코드 분할 다중 액세스(CDMA) 네트워크들, 글로벌 모바일 통신 시스템(GSM), 전기 전자 기술자 협회(IEEE) 802.16(WiMAX), 롱 텀 에볼루션(LTE), IEEE 802.11(WiFiTM) 등과 같은 셀룰러-기반 및 무선 근거리 네트워크(WLAN) 기술들을 포함하는 임의의 적당한 프로토콜이 이용될 수도 있다. 대안으로 또는 추가로, 네비게이션 모듈(122)은 예컨대, 관성 센서(112) 및/또는 외부 센서(114)로부터의 센서 데이터는 물론, 필터들(120)로부터의 출력들도 이용하는 관성 네비게이션 기술들을 이용할 수도 있다. 이러한 기술들은 추측 항법 등을 수반할 수도 있고, 임의의 롤, 피치 및 방위(헤딩) 각도들과 같은 값들을 포함하여, 디바이스(100)에 대한 배향을 결정할 수도 있다.
[0083] 디바이스(100)는 휴대용 디바이스 및 플랫폼의 향상된 네비게이션 솔루션을 제공하는 데 사용될 수 있으며, 여기서는 플랫폼 내에서 디바이스의 이동성이 제약되거나 제약되지 않으며, 여기서 디바이스는 임의의 배향으로 틸트될 수도 있다. 앞서 설명한 바와 같이, 디바이스(100)는 휴대용 디바이스 내에 집적되어, 휴대용 디바이스의 모션을 나타내는 데이터를 출력하도록 구성된 센서 어셈블리를 포함할 수도 있고, 프로세서는 네비게이션 솔루션을 출력하도록 구성된 제 1 필터 구현할 수도 있고, 모션 센서 데이터를 사용하여 적어도 하나의 값을 생성하여, 적어도 하나의 생성된 값이 제 1 필터에 의해 출력된 네비게이션 솔루션을 향상시키도록 제 1 필터에 사용되게 하도록 구성된 적어도 하나의 제 2 필터 구현할 수도 있다. 센서 어셈블리는 가속도계 및 자이로스코프를 포함한다. 일부 실시예들에서, 센서 어셈블리는 초소형 전자 기계 시스템(MEMS)으로서 구현된 관성 센서일 수도 있다.
[0084] 앞서 언급한 바와 같이, 디바이스(100)는 휴대용 디바이스의 모션에 대응하는 모션 센서 데이터를 획득하고, 네비게이션 솔루션을 출력하도록 구성된 제 1 필터를 제공하고, 모션 센서 데이터를 사용하여 적어도 하나의 값을 생성하도록 구성된 적어도 하나의 제 2 필터를 제공하고, 제 1 필터에 의해 출력된 네비게이션 솔루션을 향상시키도록 적어도 하나의 생성된 값을 제 1 필터에 사용함으로써 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법에 사용될 수도 있다.
[0085] 한 양상에서, 적어도 하나의 생성된 값은 휴대용 디바이스의 헤딩각일 수도 있으며, 여기서 적어도 하나의 생성된 값을 사용하는 것은 적어도 하나의 생성된 값을 사용해 추측 항법 계산을 수행하여 제 1 필터에 네비게이션 솔루션을 향상시키기 위한 측정 업데이트들을 제공하는 것을 포함할 수도 있다. 추측 항법 계산은 보행자 추측 항법 계산, 차량 추측 항법 계산 또는 사이클링 추측 항법 계산일 수도 있다. 적어도 하나의 생성된 값을 사용하는 것은 휴대용 디바이스 헤딩각으로부터 플랫폼 헤딩을 도출하는 것을 포함할 수도 있다. 또한, 플랫폼 헤딩은 추정된 헤딩 오정렬을 갖는 휴대용 디바이스 헤딩각을 보정함으로써 도출될 수도 있다.
[0086] 일 양상에서, 적어도 하나의 생성된 값은 휴대용 디바이스의 헤딩(heading) 각도일 수 있으며, 그에 따라 적어도 하나의 생성된 값을 이용하는 것은 적어도 하나의 생성된 값을 이용하여 휴대용 디바이스의 헤딩 오정렬(heading misalignment)을 추정하는 것을 포함하여, 네비게이션 솔루션(navigation solution)을 향상시키기 위해 제 1 필터에 추정된 헤딩 오정렬을 제공할 수 있다. 헤딩 오정렬은 적어도 하나의 생성된 값 및 플랫폼 헤딩(platform heading)로부터 추정될 수 있다. 플랫폼 헤딩은, 글로벌 네비게이션 위성 시스템(GNSS)과 같은 절대적 네비게이션 정보(navigational information)의 소스로부터 도출될 수 있다.
[0087] 일 양상에서, 적어도 하나의 생성된 값은 휴대용 디바이스의 롤 및 피치 값들일 수 있다. 또한, 적어도 하나의 생성된 값을 이용하는 것은, 롤 및 피치 값들을 이용하여 플랫폼 프레임과 디바이스 프레임 사이의 변환을 획득하는 것을 포함할 수 있다. 디바이스 프레임을 플랫폼 프레임으로 변환하는 것은 또한, 휴대용 디바이스의 추정된 헤딩 오정렬에 기초할 수 있다. 헤딩 오정렬은 휴대용 디바이스 헤딩 각도 및 플랫폼 헤딩로부터 추정될 수 있다. 대안적으로, 또는 부가적으로, 헤딩 오정렬은 전용 헤딩 오정렬 추정 기법(dedicated heading misalignment estimation technique)으로부터 추정될 수 있다.
[0088] 일 양상에서, 적어도 하나의 값을 생성하기 위해 모션 센서 데이터를 이용하여 구성된 적어도 하나의 제 2 필터를 제공하는 것은 더블 피드백을 감소시킬 수 있다.
[0089] 일 양상에서, 적어도 하나의 생성된 값을 이용하는 것은 제 1 필터를 초기화하는 것을 포함할 수 있다. 적어도 하나의 생성된 값은 휴대용 디바이스의 롤 및 피치 값들일 수 있다. 제 1 필터를 초기화하는 것은 정렬 위상 동안 일어날 수 있다. 또한, 제 1 필터를 초기화하는 것은, 제 1 필터를 정렬 위상으로부터 네비게이션 위상으로 전이시킬 수 있다.
[0090] 일 양상에서, 적어도 하나의 생성된 값은 휴대용 디바이스와 플랫폼 사이의 초기 오정렬일 수 있다. 초기 오정렬은 복수의 필터들로부터 도출될 수 있다. 복수의 필터들 중 각각의 필터는 후보 초기 오정렬(candidate initial misalignment)을 출력할 수 있으며, 그에 따라 적어도 하나의 생성된 값이, 적어도 부분적으로 후보 초기 오정렬들의 비교에 기초하여 선택된다. 후보 초기 오정렬들의 비교는 절대적 네비게이션 정보의 소스를 이용할 수 있다. 또한, 제 1 필터를 초기화하는 것은 정렬 페이즈 동안 일어날 수 있다. 제 1 필터를 초기화하는 것은, 정렬 페이즈로부터 네비게이션 페이즈으로 제 1 필터를 전이시킬 수 있다.
[0091] 일 양상에서, 제 1 필터 및 적어도 하나의 제 2 필터가 정의된 시간 윈도우에 걸쳐서 동시적으로(in parallel) 실행될 수 있도록, 제 1 필터에 의해 출력된 네비게이션 솔루션에서 모호성(ambiguity)이 검출될 수 있으며, 적어도 하나의 생성된 값을 이용하는 것은, 보다 정확한 출력을 제공하는 것으로서, 필터들 중 하나를 식별하기 위해, 정의된 시간 윈도우 동안, 적어도 하나의 생성된 값을 제 1 필터에 의해 출력된 값에 비교하는 것을 포함할 수 있다. 제 1 필터 및 적어도 하나의 제 2 필터에는, 검출된 모호성에 관한 대안적인 가정이 제공될 수 있다. 또한, 적어도 하나의 생성된 값은, 적어도 하나의 제 2 필터가 보다 정확한 출력을 제공하는 것으로서 식별될 때, 제 1 필터에 제공될 수 있다. 모든 필터들의 출력들은 보다 정확한 출력을 제공하는 필터를 식별하도록 비교될 수 있다.
고려된 실시예들
[0092] 본 개시는 x 전방, 바디의 우측으로 y 포지티브 및 하향으로 z 축 포지티브이도록 바디 프레임을 설명한다. 임의의 바디-프레임 정의가 본원에 설명된 본 방법 및 장치의 애플리케이션을 위해 사용될 수 있다는 것이 고려된다.
[0093] 본 방법 및 장치가 자신의 가능한 업데이트들 및 관성 센서들 바이어스 재계산들, 비-홀로노믹(non-holonomic) 업데이트들, 관성 센서 에러들의 진보된 모델링 및/또는 캘리브레이션, 적당할 때 GNSS로부터 이들에 대한 가능한 측정치 업데이트들의 편차, GNSS 솔루션 품질의 자동평가 및 품질 저하된 성능 검출, 느슨하게 커플링된 통합 방식들과 타이트하게 커플링된 통합 방식들 사이의 자동 스위칭, 타이트하게 커플링된 모드에 있을 때 각각의 시각적 GNSS 위성의 평가와 함께 자동 제로 속도 기간들 또는 정적 기간 검출을 선택적으로 활용할 수 있는 네비게이션 솔루션, 및 마지막으로 아마도, 임의의 타입의 백워드 평활화 기술을 사용하거나 포스트 미션(post mission)에서 실행되거나 또는 동일한 미션 내에서 버퍼링된 데이터에 대해 백그라운드에서 실행되는 백워드 평활화 모듈과 함께 사용될 수 있다는 것이 고려된다.
[0094] 본 방법 및 장치가, 백그라운드에서, 절대적 네비게이션 정보의 인공적 정전들을 시뮬레이팅하기 위한 루틴을 실행하고 네비게이션 솔루션의 정확성 및 일관성을 최적화하기 위하여 본 개시의 네비게이션 솔루션에 사용된 상태 추정 기술의 다른 예의 파라미터들을 추정하도록 추가로 프로그래밍되는 네비게이션 솔루션과 함께 사용될 수 있다는 것이 추가로 고려된다. 정확성 및 일관성은 시뮬레이팅된 정전들 동안 일시적 백그라운드 솔루션을 기준 솔루션에 비교함으로써 평가된다. 기준 솔루션은 다음 예들 중 하나일 수 있다: 절대적 네비게이션 정보(예를 들어, GNSS), 절대적 네비게이션 정보(예를 들어, GNSS) 및 아마도 선택적 스피드 또는 속도 판독치들을 가진 이용 가능 센서들을 포함하는 디바이스에서 전방 통합된 네비게이션 솔루션, 절대적 네비게이션 정보(예를 들어, GNSS) 및 아마도 선택적 스피드 또는 속도 판독치들을 가진 이용 가능한 센서들을 포함하는 백워드 평활화된 통합된 네비게이션 솔루션. 백그라운드 프로세싱은 전방 솔루션 프로세싱과 동일한 프로세서 또는 제 1 프로세서와 통신할 수 있고 공유된 로케이션(location)으로부터 저장된 데이터를 판독할 수 있는 다른 프로세서상에서 실행될 수 있다. 백그라운드 프로세싱 솔루션의 결과는 예를 들어 네비게이션을 위하여 사용된 전방 상태 추정 기술의 파라미터들에 대해 향상된 값들을 가짐으로써, 그의 추후 실행(즉, 백그라운드 루틴이 운용하는 것을 마친 후 실시간 실행)시 실시간 네비게이션 솔루션에 이익을 줄 수 있다.
[0095] 본 방법 및 장치가 맵들(거리 맵들, 실내 맵들 또는 모델들, 또는 이용 가능한 그런 맵들 또는 모델들을 가진 애플리케이션들의 경우들에서 임의의 다른 환경 맵 또는 모델), 및 맵 매칭 또는 모델 매칭 루틴이 추가로 통합된 네비게이션 솔루션과 함께 사용될 수 있다는 것이 추가로 고려된다. 맵 매칭 또는 모델 매칭은 절대적 네비게이션 정보(예컨대, GNSS) 품질 저하 또는 중단 동안 네비게이션 솔루션을 추가로 향상시킬 수 있다. 모델 매칭의 경우, 환경에 관한 정보를 획득하는 센서 또는 센서들의 그룹은 예를 들어 레이저 거리 측정기들, 카메라들 및 비전 시스템들, 또는 소나 시스템들같이 사용될 수 있다. 이들 새로운 시스템들은 절대적 네비게이션 정보 문제들(품질 저하 또는 부재) 동안 네비게이션 솔루션의 정확성을 향상시키기 위한 추가 도움으로서 사용될 수 있거나, 몇몇 애플리케이션들에서 절대적 네비게이션 정보를 완전히 대체할 수 있다.
[0096] 본 방법 및 장치가 타이트하게 커플링된 방식이거나 하이브리드 느슨하게/타이트하게 커플링된 옵션에서 동작할 때, 의사 거리 측정치들(캐리어 페이즈가 아닌 코드로부터 계산되고, 따라서 소위 코드-기반 의사 거리들이라 불림) 및 도플러 측정치들(의사 거리 레이트들을 얻기 위해 사용됨) 활용하기 위해 한정될 필요가 없는 네비게이션 솔루션과 함께 사용될 수 있다는 것이 추가로 고려된다. GNSS 수신기의 캐리어 페이즈 측정치는 또한, 예를 들어: (ⅰ) 코드-기반 의사 거리들 대신 거리들을 계산하기 위한 대안적인 방식, 또는 (ⅱ) 코드-기반 의사 거리 및 캐리어-페이즈 측정치들 둘 다로부터 정보를 통합함으로써 거리 계산을 향상시키기 위해 사용될 수 있고, 그런 향상은 캐리어-평활화 의사 거리이다.
[0097] GNSS 수신기와 다른 센서들의 판독치들 사이의 울트라-타이트 통합 스킴(ultra-tight integration scheme)에 의존하는 네비게이션 솔루션과 함께 본 방법 및 장치가 사용될 수 있다는 것이 추가적으로 고려된다.
[0098] (GNSS가 사용 가능하지 않을 때 더 유익할) 부가적인 지원 수단으로서, 또는 GNSS 정보에 대한(예를 들어, GNSS가 적용 가능하지 않은 어플리케이션들에 대한) 대체 수단으로서, 포지셔닝 및 네비게이션에 또한 사용될 수 있는 다양한 무선 통신 시스템들을 사용하는 네비게이션 솔루션과 함께 본 방법 및 장치가 사용될 수 있다는 것이 추가적으로 고려된다. 포지셔닝에 사용되는 그러한 무선 통신 시스템들의 예들은, 셀룰러 폰 타워들 및 신호들, 라디오 신호들, 디지털 텔레비젼 신호들, WiFi, 또는 Wimax에 의해 제공되는 무선 통신 시스템이다. 예를 들어, 셀룰러 폰 기반 어플리케이션들의 경우, 셀 폰 타워들로부터의 절대 좌표 및 실내 사용자와 타워들 간의 거리들이 포지셔닝 및 네비게이션에 사용될 수 있고, 그에 의해, 가장 가까운 셀 폰 포지셔닝 좌표들의 도착 시간 차이 또는 도착 시간을 계산하는, 이들 간의 상이한 방법들에 의해 거리가 추정될 수 있다. 향상된 관측 시차(E-OTD)로서 공지된 방법이, 공지된 좌표들 및 거리를 얻는 데에 사용될 수 있다. 거리 측정들에 대한 표준 편차는 셀 폰에 사용된 오실레이터의 타입, 및 셀 타워 타이밍 장비 및 전송 손실들에 의존할 수 있다. WiFi 포지셔닝은 다양한 방식들로 이루어질 수 있는데, 그러한 방식은 특히, 도착 시간, 도착 시간 차이, 도착 각도들, 수신된 신호 강도, 및 핑거프린팅 기술들을 포함하지만 이에 제한되지는 않는다; 모든 방법들은 상이한 수준의 정확도들을 제공한다. 포지셔닝에 사용되는 무선 통신 시스템은 무선 신호들로부터의 신호 강도, 각도들, 또는 거리 측정(ranging)에서의 에러들을 모델링하기 위한 상이한 기술들을 사용할 수 있고, 상이한 다중경로 완화 기술들을 사용할 수 있다. 특히, 상기 언급된 모든 아이디어들은 또한, 무선 통신 시스템들에 기반한 다른 무선 포지셔닝 기술들에 대해서 유사한 방식으로 적용 가능하다.
[0099] 다른 이동 디바이스들로부터의 지원 정보를 활용하는 네비게이션 솔루션과 함께 본 방법 및 장치가 사용될 수 있다는 것이 추가적으로 고려된다. 이러한 지원 정보는 (GNSS가 사용 가능하지 않을 때 더 유익할) 부가적인 지원 수단으로서, 또는 GNSS 정보에 대한(예를 들어, GNSS 기반 포지셔닝이 적용 가능하지 않은 어플리케이션들에 대한) 대체 수단으로서 사용될 수 있다. 다른 디바이스들로부터의 지원 정보의 일 예는 상이한 디바이스들 간의 무선 통신 시스템들에 의존할 수 있다. 근본적인 아이디어는, GNSS가 열화되거나 또는 사용 가능하지 않은 디바이스들이, 향상된 포지셔닝 또는 네비게이션 솔루션을 얻을 수 있도록, 더 나은 포지셔닝 또는 네비게이션 솔루션을 갖는(예를 들어, 더 나은 사용성 및 정확성을 가진 GNSS를 갖는) 디바이스들이 도울 수 있다는 것이다. 이러한 도움은, GNSS가 열화되거나 또는 사용 가능하지 않은 디바이스(들)를 포지셔닝하기 위한 무선 통신 시스템 및 지원 디바이스(들)의 잘-공지된 포지션에 의존한다. 이러한 고려된 변형은 하나 또는 양자 모두의 환경(들)을 참조한다: (i) GNSS가 열화되거나 사용 가능하지 않은 디바이스(들)는 본원에서 설명되는 방법들을 활용하고 다른 디바이스들 및 통신 시스템으로부터 지원 수단을 얻으며, (ii) GNSS가 사용 가능하고 그러므로 더 나은 네비게이션 솔루션을 가진 지원 디바이스는 본원에서 설명되는 방법들을 활용한다. 포지셔닝에 사용되는 무선 통신 시스템은 상이한 통신 프로토콜들에 의존할 수 있고, 그리고, 예를 들어, 특히, 도착 시간, 도착 시간 차이, 도착 각도들, 및 수신된 신호 강도들과 같은 상이한 방법들에 의존할 수 있다. 포지셔닝에 사용되는 무선 통신 시스템은 무선 신호들로부터의 각도들 및/또는 거리 측정에서의 에러들을 모델링하기 위한 상이한 기술들을 사용할 수 있고, 상이한 다중경로 완화 기술들을 사용할 수 있다.
[00100] 본원에서 예로써 설명되는 MEMS 기반 센서들 외에, 다양한 타입들의 관성 센서들과 함께 본 방법 및 장치가 사용될 수 있다는 것이 고려된다.
[00101] 상기 설명된 실시예들 및 기술들은, 별개의 소프트웨어 모듈들 또는 다양한 상호 연결된 기능적 블록들로서의 소프트웨어로 구현될 수 있다. 그러나, 이는 필수적이지 않고, 이러한 기능적 블록들 또는 모듈들이, 모호한 경계들로, 작동, 프로그램, 또는 단일 로직 디바이스로 동등하게 집합화되는(aggregated) 경우들이 있을 수 있다. 임의의 경우에, 인터페이스의 피쳐들, 또는 상기 설명된 실시예들을 구현하는 소프트웨어 모듈들 및 기능적 블록들은, 디바이스 내에서 완전하게, 또는 서버와 같은, 디바이스와 통신하는 다른 프로세서 구동형(processer enabled) 디바이스들과 디바이스와 공동으로, 그 자신들에 의해 구현될 수 있거나, 하드웨어로 또는 소프트웨어로 다른 동작들과 조합되어 구현될 수 있다.
[00102] 몇몇 실시예들이 도시되고 설명되었지만, 그러한 실시예들의 범위, 의도, 기능으로부터 벗어나거나 그를 변화시키지 않고서, 다양한 변화들 및 수정들이 이러한 실시예들에 대해 이루어질 수 있다는 것이 당업자에게 자명할 것이다. 앞선 상세한 설명에서 사용되는 용어들 및 표현들은 본원에서 설명적인 용어들로서 사용되었고 제한적인 용어들로 사용되지 않았으며, 그러한 용어들 및 표현들의 사용에는, 도시되고 설명된 피쳐들의 등가물들 또는 그의 부분들을 배제하려는 의도가 없고, 본 개시가 오직 이하의 청구항들에 의해서만 정의되고 제한된다는 것이 인지된다.

Claims (35)

  1. 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법으로서,
    상기 디바이스의 이동도는 상기 플랫폼내에서 제한되거나 또는 제한되지 않으며, 상기 디바이스는 임의의 배향으로 틸트될 수 있으며, 상기 방법은,
    a) 상기 휴대용 디바이스의 모션에 대응하는 모션 센서 데이터를 획득하는 단계;
    b) 네비게이션 솔루션을 출력하도록 구성된 제 1 필터를 제공하는 단계;
    c) 상기 모션 센서 데이터를 이용하여 적어도 하나의 값을 발생시키도록 구성된 적어도 하나의 제 2 필터를 제공하는 단계; 및
    e) 상기 제 1 필터에 의해 출력되는 네비게이션 솔루션을 향상시키기 위해 상기 제 1 필터에 적어도 하나의 발생된 값을 이용하는 단계
    를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 발생된 값은 상기 휴대용 디바이스의 헤딩 각도(heading angle)를 포함하며,
    상기 적어도 하나의 발생된 값을 이용하는 단계는, 상기 네비게이션 솔루션을 향상시키기 위해, 상기 제 1 필터에 측정 업데이트들을 제공하기 위해서 상기 적어도 하나의 발생된 값을 이용하여 추측 항법(dead reckoning) 계산을 수행하는 단계를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  3. 제 2 항에 있어서,
    상기 추측 항법 계산은 보행자 추측 항법(pedestrian dead reckoning) 계산을 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  4. 제 2 항에 있어서,
    상기 추측 항법 계산은 차량 추측 항법(vehicular dead reckoning) 계산을 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  5. 제 2 항에 있어서,
    상기 추측 항법 계산은 사이클링 추측 항법(cycling dead reckoning) 계산을 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  6. 제 2 항에 있어서,
    상기 적어도 하나의 발생된 값을 이용하는 단계는, 상기 휴대용 디바이스 헤딩 각도로부터 플랫폼 헤딩을 유추하는 단계를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  7. 제 6 항에 있어서,
    상기 플랫폼 헤딩을 유추하는 단계는, 추정된 헤딩 오정렬로 상기 휴대용 디바이스 헤딩 각도를 교정하는 단계를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 발생된 값은 상기 휴대용 디바이스의 헤딩 각도를 포함하며, 상기 적어도 하나의 발생된 값을 이용하는 단계는, 상기 네비게이션 솔루션을 향상시키기 위해, 상기 제 1 필터에 추정된 헤딩 오정렬을 제공하기 위해서 상기 적어도 하나의 발생된 값을 이용하여 상기 휴대용 디바이스의 헤딩 오정렬을 추정하는 단계를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  9. 제 8 항에 있어서,
    상기 헤딩 오정렬은 적어도 하나의 발생된 값 및 플랫폼 헤딩으로부터 추정되는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  10. 제 9 항에 있어서,
    상기 플랫폼 헤딩은 절대적 네비게이션 정보(absolute navigational information)의 소스로부터 유추되는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  11. 제 10 항에 있어서,
    상기 절대적 네비게이션 정보의 소스는 GNSS(global navigation satellite system)을 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  12. 제 1 항에 있어서,
    상기 적어도 하나의 발생된 값은 상기 휴대용 디바이스의 롤(roll) 및 피치(pitch) 값들을 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  13. 제 12 항에 있어서,
    상기 적어도 하나의 발생된 값을 이용하는 단계는, 상기 롤 및 피치 값들로 디바이스 프레임과 플랫폼 프레임 간의 변환(transformation)을 획득하는 단계를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  14. 제 13 항에 있어서,
    상기 디바이스 프레임을 상기 플랫폼 프레임으로 변환하는 것은 또한, 상기 휴대용 디바이스의 추정된 헤딩 오정렬에 기초하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  15. 제 14 항에 있어서,
    상기 헤딩 오정렬은 상기 휴대용 디바이스 헤딩 각도 및 플랫폼 헤딩으로부터 추정되는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  16. 제 14 항에 있어서,
    상기 헤딩 오정렬은 전용(dedicated) 헤딩 오정렬 추정 기술로부터 추정되는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  17. 제 1 항에 있어서,
    상기 모션 센서 데이터를 이용하여 적어도 하나의 값을 발생시키도록 구성된 적어도 하나의 제 2 필터를 제공하는 단계는, 더블 피드백(double feedback)을 감소시키는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  18. 제 1 항에 있어서,
    상기 적어도 하나의 발생된 값을 이용하는 단계는, 상기 제 1 필터를 초기화하는 단계를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  19. 제 18 항에 있어서,
    상기 적어도 하나의 발생된 값은 상기 휴대용 디바이스의 롤 및 피치 값들을 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  20. 제 19 항에 있어서,
    상기 제 1 필터를 초기화하는 단계는 정렬 페이즈(alignment phase) 동안 발생하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  21. 제 20 항에 있어서,
    상기 제 1 필터를 초기화하는 단계는 상기 제 1 필터를 상기 정렬 페이즈로부터 네비게이션 페이즈로 전환(transition)하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  22. 제 18 항에 있어서,
    상기 적어도 하나의 발생된 값은 상기 휴대용 디바이스와 상기 플랫폼 사이의 초기 오정렬을 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  23. 제 21 항에 있어서,
    상기 초기 오정렬은 복수의 필터들로부터 유추되는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  24. 제 23 항에 있어서,
    상기 복수의 필터들 각각은 후보 초기 오정렬을 출력하며, 상기 적어도 하나의 발생된 값은 후보 초기 오정렬들의 비교에 적어도 부분적으로 기초하여 선택되는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  25. 제 24 항에 있어서,
    상기 후보 초기 오정렬들의 비교는 절대적 네비게이션 정보의 소스를 이용하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  26. 제 23 항에 있어서,
    상기 제 1 필터를 초기화하는 단계는 정렬 페이즈 동안 발생하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  27. 제 26 항에 있어서,
    상기 제 1 필터를 초기화하는 단계는 상기 제 1 필터를 상기 정렬 페이즈로부터 네비게이션 페이즈로 전환하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  28. 제 1 항에 있어서,
    상기 제 1 필터에 의해 출력되는 상기 네비게이션 솔루션에서의 모호성(ambiguity)을 검출하는 단계 및 정의된 시간 윈도우에 걸쳐 동시에(in parallel) 상기 제 1 필터 및 상기 적어도 하나의 제 2 필터를 실행하는 단계를 더 포함하며,
    상기 적어도 하나의 발생된 값을 이용하는 단계는, 보다 정확한 출력을 제공하는 것으로서 필터들 중 하나를 식별하기 위해 상기 정의된 시간 윈도우 동안 상기 제 1 필터에 의해 출력되는 값과 상기 적어도 하나의 발생된 값을 비교하는 단계를 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  29. 제 28 항에 있어서,
    상기 제 1 필터 및 상기 적어도 하나의 제 2 필터에 검출된 모호성에 관한 대안적 가정(assumption)이 제공되는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  30. 제 28 항에 있어서,
    보다 정확한 출력을 제공하는 것으로서 상기 적어도 하나의 제 2 필터가 식별될 때, 상기 제 1 필터에 상기 적어도 하나의 발생된 값을 제공하는 단계를 더 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  31. 제 28 항에 있어서,
    상기 보다 정확한 출력을 제공하는 필터를 식별하기 위해 상기 필터들의 모든 출력들을 비교하는 단계를 더 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  32. 제 1 항에 있어서,
    제 2 항, 제 8 항, 제 12 항, 제 18 항, 제 19 항, 제 22 항 및/또는 제 28 항의 임의의 조합을 더 포함하는, 휴대용 디바이스 및 플랫폼의 네비게이션 솔루션을 향상시키기 위한 방법.
  33. 휴대용 디바이스 및 플랫폼의 향상된 네비게이션 솔루션을 제공하기 위한 휴대용 디바이스로서,
    상기 디바이스의 이동도는 상기 플랫폼내에서 제한되거나 또는 제한되지 않으며, 상기 디바이스는 임의의 배향으로 틸트될 수 있으며, 상기 휴대용 디바이스는,
    a) 상기 휴대용 디바이스내에 통합되며 상기 휴대용 디바이스의 모션을 표현하는 데이터를 출력하도록 구성된, 센서 어셈블리; 및
    b) 프로세서
    를 포함하며, 상기 프로세서는,
    i) 네비게이션 솔루션을 출력하도록 구성된 제 1 필터를 구현하고;
    ii) 적어도 하나의 값을 발생시키기 위해 모션 센서 데이터를 이용하도록 구성된 적어도 하나의 제 2 필터를 구현하고; 그리고
    iii) 상기 제 1 필터에 의해 출력되는 상기 네비게이션 솔루션을 향상시키기 위해 상기 제 1 필터에 적어도 하나의 발생된 값을 이용하도록
    구성되는, 휴대용 디바이스 및 플랫폼의 향상된 네비게이션 솔루션을 제공하기 위한 휴대용 디바이스.
  34. 제 33 항에 있어서,
    상기 센서 어셈블리는 가속도계 및 자이로스코프를 포함하는, 휴대용 디바이스 및 플랫폼의 향상된 네비게이션 솔루션을 제공하기 위한 휴대용 디바이스.
  35. 제 33 항에 있어서,
    상기 센서 어셈블리는 MEMS(Micro Electro Mechanical System)으로서 구현되는 관성 센서를 포함하는, 휴대용 디바이스 및 플랫폼의 향상된 네비게이션 솔루션을 제공하기 위한 휴대용 디바이스.
KR1020150122671A 2014-09-03 2015-08-31 강화된 휴대용 네비게이션을 위한 다수의 필터들을 이용하기 위한 방법 KR20160028379A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462045422P 2014-09-03 2014-09-03
US62/045,422 2014-09-03
US14/831,706 US10228252B2 (en) 2014-09-03 2015-08-20 Method and apparatus for using multiple filters for enhanced portable navigation
US14/831,706 2015-08-20

Publications (1)

Publication Number Publication Date
KR20160028379A true KR20160028379A (ko) 2016-03-11

Family

ID=54062667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150122671A KR20160028379A (ko) 2014-09-03 2015-08-31 강화된 휴대용 네비게이션을 위한 다수의 필터들을 이용하기 위한 방법

Country Status (4)

Country Link
US (1) US10228252B2 (ko)
EP (1) EP2993443A1 (ko)
KR (1) KR20160028379A (ko)
CN (1) CN105509745B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015039215A1 (en) * 2013-09-17 2015-03-26 Invensense, Inc. Method and apparatus for determination of misalignment between device and pedestrian using vision
US10126134B2 (en) * 2015-12-21 2018-11-13 Invensense, Inc. Method and system for estimating uncertainty for offline map information aided enhanced portable navigation
US10018474B2 (en) * 2015-12-21 2018-07-10 Invensense, Inc. Method and system for using offline map information aided enhanced portable navigation
US10281279B2 (en) * 2016-10-24 2019-05-07 Invensense, Inc. Method and system for global shape matching a trajectory
US11353566B2 (en) * 2018-04-26 2022-06-07 Navico Holding As Sonar transducer having a gyroscope
EP3620747A1 (fr) * 2018-09-10 2020-03-11 Tissot S.A. Calibration ou reglage de magnetometre
CN109781098B (zh) * 2019-03-08 2021-04-06 兰州交通大学 一种列车定位的方法和***
US11709252B2 (en) * 2019-08-21 2023-07-25 Arm Limited Topological model generation
CN111412912A (zh) * 2020-04-14 2020-07-14 上海华测导航技术股份有限公司 导航板卡、用于导航板卡的多源数据融合方法以及运载体
CN112066982B (zh) * 2020-09-07 2021-08-31 成都睿芯行科技有限公司 一种在高动态环境下的工业移动机器人定位方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278945B1 (en) * 1997-11-24 2001-08-21 American Gnc Corporation Fully-coupled positioning process and system thereof
US6234799B1 (en) * 1998-04-06 2001-05-22 American Gnc Corporation Real-time IMU simulator
US6240367B1 (en) * 1998-11-27 2001-05-29 Ching-Fang Lin Full fusion positioning method for vehicle
US6317688B1 (en) * 2000-01-31 2001-11-13 Rockwell Collins Method and apparatus for achieving sole means navigation from global navigation satelite systems
US6408245B1 (en) * 2000-08-03 2002-06-18 American Gnc Corporation Filtering mechanization method of integrating global positioning system receiver with inertial measurement unit
US7761233B2 (en) * 2006-06-30 2010-07-20 International Business Machines Corporation Apparatus and method for measuring the accurate position of moving objects in an indoor environment
US20080077325A1 (en) * 2006-09-25 2008-03-27 Honeywell International Inc. Systems and methods for a hybrid transition matrix
KR100815152B1 (ko) * 2006-11-07 2008-03-19 한국전자통신연구원 다중 필터 융합을 이용한 복합 항법 장치 및 이를 이용한항법 정보 제공 방법
US8086405B2 (en) * 2007-06-28 2011-12-27 Sirf Technology Holdings, Inc. Compensation for mounting misalignment of a navigation device
US20090058723A1 (en) * 2007-09-04 2009-03-05 Mediatek Inc. Positioning system and method thereof
US20110178705A1 (en) * 2010-01-15 2011-07-21 Qualcomm Incorporated Using Filtering With Mobile Device Positioning In A Constrained Environment
CN102052921B (zh) * 2010-11-19 2012-08-22 哈尔滨工程大学 一种单轴旋转捷联惯导***初始航向的确定方法
CA2769788C (en) * 2011-03-23 2019-08-13 Trusted Positioning Inc. Methods of attitude and misalignment estimation for constraint free portable navigation
CN102435206B (zh) * 2011-09-01 2013-10-23 中国航空工业第六一八研究所 捷联惯导***机上安装偏角的自动标定及补偿方法
CA2848217C (en) * 2011-09-14 2018-09-18 Trusted Positioning Inc. Method and apparatus for navigation with nonlinear models

Also Published As

Publication number Publication date
CN105509745B (zh) 2020-11-10
US20160061605A1 (en) 2016-03-03
CN105509745A (zh) 2016-04-20
EP2993443A1 (en) 2016-03-09
US10228252B2 (en) 2019-03-12

Similar Documents

Publication Publication Date Title
US10228252B2 (en) Method and apparatus for using multiple filters for enhanced portable navigation
US11506512B2 (en) Method and system using tightly coupled radar positioning to improve map performance
US10184797B2 (en) Apparatus and methods for ultrasonic sensor navigation
JP7133903B2 (ja) マルチパス平滑化のための方法およびシステム
US10281279B2 (en) Method and system for global shape matching a trajectory
EP3047304B1 (en) Method and apparatus for determination of misalignment between device and vessel using acceleration/deceleration
CA2769788C (en) Methods of attitude and misalignment estimation for constraint free portable navigation
EP3884298A1 (en) Method and system for positioning using radar and motion sensors
US11875519B2 (en) Method and system for positioning using optical sensor and motion sensors
US9880005B2 (en) Method and system for providing a plurality of navigation solutions
US10054442B2 (en) Method and apparatus for handling vertical orientations of devices for constraint free portable navigation
US20160305782A1 (en) System and method for estimating heading misalignment
WO2015035501A1 (en) System and method for enhanced integrated navigation with wireless angle of arrival
US10274317B2 (en) Method and apparatus for determination of misalignment between device and vessel using radius of rotation
EP3211371B1 (en) Method and system for multiple pass smoothing
EP4196747A1 (en) Method and system for positioning using optical sensor and motion sensors