KR102666648B1 - 센서 데이터를 결합하기 위한 방법 및 시스템 - Google Patents

센서 데이터를 결합하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102666648B1
KR102666648B1 KR1020207011865A KR20207011865A KR102666648B1 KR 102666648 B1 KR102666648 B1 KR 102666648B1 KR 1020207011865 A KR1020207011865 A KR 1020207011865A KR 20207011865 A KR20207011865 A KR 20207011865A KR 102666648 B1 KR102666648 B1 KR 102666648B1
Authority
KR
South Korea
Prior art keywords
data
sensor
paragraph
motion
platform
Prior art date
Application number
KR1020207011865A
Other languages
English (en)
Other versions
KR20200078507A (ko
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
Priority claimed from GB1717632.2A external-priority patent/GB2567845B/en
Application filed by 포컬 포인트 포지셔닝 리미티드 filed Critical 포컬 포인트 포지셔닝 리미티드
Publication of KR20200078507A publication Critical patent/KR20200078507A/ko
Application granted granted Critical
Publication of KR102666648B1 publication Critical patent/KR102666648B1/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/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
    • 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
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • 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

Abstract

시간에 따른 관심 메트릭(metric of interest)의 진화(evolution)를 결정하기 위해, 위치 또는 이동(movement)이 결정될 수 있는 측정들을 하도록 구성된 적어도 하나의 센서로부터의 데이터를 결합하는 방법이 개시된다. 상기 방법은 제1 시간 기간에서, 제1 플랫폼에 장착된 제1 센서로부터 제1 데이터를 얻는 단계; 제2 시간 기간에서, 제2 플랫폼 또는 상기 제1 플랫폼에 장착된 제2 센서 및/또는 상기 제1 센서로부터 제2 데이터를 얻는 단계; 제1 및 제2 시간 인스턴스들(time instances) 간 관심 메트릭의 상기 진화를 결정하는 단계 - 상기 제1 및 제2 시간 인스턴스들 중 적어도 하나는 상기 제1 및 제2 시간 기간들 중 적어도 하나 내에 있음 - 를 포함하고, 및 상기 관심 메트릭의 상기 진화는 제1 및/또는 제2 플랫폼의 모션 모델(motion model), 상기 제1 데이터 및 제2 데이터 중 적어도 하나에 의해 제한(constrained)된다. 대응하는 시스템 및 컴퓨터 판독 가능 매체 또한 개시된다.

Description

센서 데이터를 결합하기 위한 방법 및 시스템
본 발명은 센서들에 의해 얻은 데이터를 결합하기 위한 방법 및 시스템에 관한 것이고, 및 항법 시스템들의 분야에서의 특정 출원을 가진다.
전통적인 관성 항법 시스템(traditional inertial navigation system)은 관성 측정 유닛들(inertial measurement units)(예를 들어, 가속도계, 자이로스코프 등)로부터의 측정들을 속도, 방향 및 위치와 같은 항법 데이터로 변환하기 위해 표준 역학 방정식들(standard mechanics equations)을 사용한다. 이러한 시스템의 알려진 문제점은 수치 적분 오류(numerical integration error)의 문제이며, 이는 도출된 항법 데이터(derived navigation data)에서 빠르게 증가하는 에러들로 나타난다. 상기 관성 항법 방정식들은 일반적으로 연속적인 회전-레이트(rotation-rate) 및 가속도 측정들의 수치 적분(numerical integration)을 통해 방향, 속도 및 위치의 결정을 포함한다. 측정 에러들의 상기 적분은(예를 들어, 센서 노이즈, 바이어스, 스케일 팩터(scale-factor) 및 정렬 에러들로 인한) 더 빠르게 증가하는 위치 에러로 누적되는 증가하는 속도 에러로 귀결된다. 수치 적분 에러의 영향은 저비용(low-cost) 관성 측정 유닛들(inertial measurement units; IMUs)의 경우에 특히 두드러지며(pronounced), 그의 센서가 상대적으로 노이즈가 크고, 큰 정렬 및 스케일 팩터 에러들을 소유하고, 및 온도 변화와 함께 또는 시간이 지남에 따라 크게 표류할 수 있는 바이어스(biases)를 갖는다.
저비용 IMU들의 가용성이 점점 널리 퍼지고 있고, 이를테면, 항법 시스템들이, 예를 들어, 스마트폰 및 피트니스 트래커와 같은 스마트 디바이스 내 점점 더 보편화되고 있다. 그러나, 이러한 저비용 IMU는 일반적으로 상대적으로 품질이 낮으며, 이는 에러 드리프트(error drift)가 일반적으로 상당하여 사용자에게 허위적(spurious)이고 도움이 되지 않는 결과들을 제공한다는 것을 의미한다. 상기 항법 솔루션의 정확도를 향상시키는 것을 돕기 위해 글로벌 위성 항법 디바이스(Global Navigation Satellite System; GNSS) 수신기들(GPS 및 GLONASS와 같은)은 IMU들과 함께 사용될 수 있다. 그러나, GNSS 커버리지가 항상 쉽게 이용가능한 것은 아니고(예를 들어 건물 내), GNSS 유닛들 스스로는 특정 상황들(예를 들어, “도시 협곡(urban canyons)”)에서 항법 데이터를 제공할 수 있다.
더 나아가, 스마트 폰과 같은 스마트 디바이스는 그 또는 그녀의 모션(motion)의 방식을 자주 변경할 수 있는 상기 사용자와 관련된 여러가지 상이한 위치들 및 방향들로 운반될 수 있다. 예를 들어, 스마트 폰 사용자는 포켓에 위치된 스마트 폰과 함께 걷는 것에 의해 여정을 시작할 수 있다. 전화를 수신하면, 상기 폰은 상기 사용자가 버스로 달려가야 하는 시간 동안 사용자의 귀로 이동할 수 있고, 이후 상기 사용자는 버스로 여행하는 상기 여정의 나머지를 보낸다. 이러한 상기 사용자에 관한 상기 디바이스의 방향 및 상대적인 위치 및 상기 사용자의 모션의 변화들은, 예를 들어, 관성 측정 유닛들이 그들의 호스트 플랫폼에 관해 고정된 위치들 및 방향들로 제공되는 전통적 스트랩-다운 시스템들(traditional strap-down systems)과 비교하여 최종 항법 솔루션에 추가 에러를 도입할(introduce) 수 있다.
그럼에도 불구하고, 저비용 IMU들을 사용하는 이러한 항법 시스템의 사용자는 정확하고 신뢰할 수 있는 포지셔닝 정보(positioning information)를 여전히 요구할 것이고, 따라서, 개설된(outlined) 상기 문제들을 해결하기 위해 기술의 요구사항이 있다.
본 발명의 제1 측면에 따르면 시간에 따른 관심 메트릭(metric of interest)의 진화(evolution)를 결정하기 위해, 위치 또는 이동(movement)이 결정될 수 있는 측정들을 하도록 구성된 적어도 하나의 센서로부터의 데이터를 결합하는 방법에 있어서, 제1 시간 기간에서, 제1 플랫폼에 장착된 제1 센서로부터 제1 데이터를 얻는 단계; 제2 시간 기간에서, 제2 플랫폼 또는 상기 제1 플랫폼에 장착된 제2 센서 및/또는 상기 제1 센서로부터 제2 데이터를 얻는 단계; 제1 및 제2 시간 인스턴스들(time instances) 간 관심 메트릭의 상기 진화를 결정하는 단계 - 상기 제1 및 제2 시간 인스턴스들 중 적어도 하나는 상기 제1 및 제2 시간 기간들 중 적어도 하나 내에 있음 - 를 포함하고, 및 상기 관심 메트릭의 상기 진화는 제1 및/또는 제2 플랫폼의 모션 모델(motion model), 상기 제1 데이터 및 제2 데이터 중 적어도 하나에 의해 제한(constrained)되는, 방법이 제공된다.
본 발명자들은 도입부에서 상술한 문제점들이 본 발명의 방법에 의해 극복될 수 있음을 깨달았다. 상기 방법은 순간 데이터를 모델로부터의 대응하는 순간 추정치와 비교함으로써 데이터를 필터링하는 칼만 필터와 같은 통계적 노이즈 필터를 사용하는 최신 Markovian 방법에 비해 크게 개선되었다. 대조적으로, 본 발명의 상기 방법은 주어진 시간 에포크(time epoch)에 기존의 “단일 에포크(single epoch)”방법들로 가능한 것보다 더 큰 신뢰도와 정확도로 센서 측정들과 모션 모델들을 결합(또는 “퓨즈(fuse)”하기 위해, 다수의 센서 데이터 스트림들을 처리하도록 다양한 길이의 다수의 시간 기간들(또는 시간 “윈도우(windows)”을 사용한다. 상기 방법은 상기 제1 및/또는 제2 센서들이 일반적으로 품질이 낮고 큰 고유의 바이어스(inherent biases)를 갖는 저비용 센서들일 때 특별한 이점을 발견한다.
여기서 용어 “진화(evolution)”는 시간 경과에 따른 관심 메트릭의 값의 변화를 의미하는데 사용된다. 예를 들어, 상기 관심 메트릭은 디바이스의 위치일 수 있고, 따라서 시간의 경과에 따른 상기 디바이스의 위치의 진화가 결정될 수 있어서, 디바이스에 의해 취해진 여정의 정확한 프로파일을 제공한다. 일반적으로, 상기 관심 메트릭은 위치 또는 움직임이 결정될 수 있는 측정들을 하도록 구성된 센서로부터 결정될 수 있는 임의의 메트릭을 포함할 수 있다. 이러한 메트릭의 예로는 위치, 범위, 스피드, 속도(velocity), 궤적, 고도, 자세(방향), 컴퍼스 헤딩, 스테핑 케이던스(stepping cadence), 스텝 길이, 이동 거리(distance travelled), 모션 콘텍스트, 위치 콘텍스트, 출력 파워, 칼로리 카운트(calorie count), 센서 바이어스, 센서 스케일 팩터(sensor scale factor), 및 센서 정렬 에러(sensor alignment error)를 포함한다. 당업자에게 명백한 다른 메트릭들이 목록에 포함될 수 있다.
상기 적어도 하나의 센서는 위치 또는 이동이 결정될 수 있는 측정들을 하도록 구성된다. 센서는 예를 들어 측정 값이 위치 또는 이동 값인 GNSS 센서와 같이 위치 또는 이동을 직접적으로 측정할 수 있고, 또는 간접적으로, 예를 들어 센서의 위치가 추론될 수 있는, 예를 들어 가방과 같은 폐쇄된 범위 내에 있음을 감지할 수 있는 광 센서와 같이 위치 또는 이동을 측정할 수 있다.
상기 제1 및 제2 데이터는 제1 및 제2 시간 기간들에서 얻어지고, 및 상기 관심 메트릭의 진화는 제1 및 제2 시간 인스턴스들 중 적어도 하나가 상기 제1 및 제2 시간 기간들 중 적어도 하나 내에 있는 제1 및 제2 시간 인스턴스들 사이에서 결정된다. 여기서, "시간 기간(time period)"은 상기 제1 및 제2 시간 인스턴스들일 수 있고 아닐 수도 있는 2개의 이격된 시간 인스턴스들 사이에서 경과되는 시간의 기간(period of time)이다. 일부 예에서, 상기 제1 및 제2시간 인스턴스들은 상기 제1 시간 기간을 정의할 수 있다.
바람직한 실시예에서, 상기 방법은 상기 제1 및/또는 제2 데이터의 정확성(accuracy) 및/또는 상기 신뢰성(reliability)을 평가(assess)하기 위해 적어도 상기 각각의 제1 및/또는 제2 시간 기간의 부분에 걸쳐 상기 제1 및/또는 제2 데이터를 분석(analyze)하는 단계를 더 포함한다. 더 나아가, 정정된 제1 데이터(corrected first data) 및/또는 정정된 제2 데이터(corrected second data)를 얻기 위해 적어도 상기 각각의 제1 및/또는 제2 시간 기간에 걸쳐 상기 제1 및/도는 제2 데이터를 분석하는 단계를 더 포함하고, 또한 상기 관심 메트릭의 상기 진화는 상기 제1 및/또는 제2 플랫폼의 모션 모델, 상기 정정된 제1 데이터 및 정정된 제2 데이터 중 적어도 하나에 의해 제한된다. 일반적으로, 상기 정정된 제2 데이터 및/또는 정정된 제2 데이터는 상기 각각의 제1 및/또는 제2 데이터보다 더 정확하다. 상기 정정된 제1 및/또는 제2 데이터는 상기 얻어진 제1 및/또는 제2 데이터 내 적어도 하나의 에러를 정정함으로써 얻어질 수 있다.
상기 제1 및 제2 데이터의 이러한 분석들은 얻어진 데이터를 처리하고 그들이 관심 메트릭 솔루션을 제공하기 전에 이러한 분석들을 수행하지 않는 최신 방법들에 비해 추가 이점들을 제공한다. 본 발명은 유리하게는 더 신뢰할 수 있고/있거나 정확한 데이터가 관심 메트릭의 결정에 사용될 수 있게 하여 사용자에게 더 정확하고 신뢰할 수 있는 솔루션을 제공한다.
상기 제1 및/또는 제2 데이터를 분석하는 것은 예를 들어, 대응하는 시간 기간에 걸쳐 주어진 센서로부터의 데이터를 분석하는 것을 포함할 수 있는 자기 일관성 체크(self-consistency checks)를 포함할 수 있다. 일반적으로, 이는 일반적으로 인정된 물리 법칙들을 위반하지 않는다고 보장하는 데이터를 분석하는 것을 포함할 수 있다. 예를 들어, 제1 및 또는 제2 데이터는 GNSS 센서로부터 얻어질 수 있고 1초 업데이트 간격에서 위치들 사이 1m의 거리로 매끄럽고, 위치의 원래 시퀀스 근처로 돌아오기 전에 1km떨어진 단일 값을 갑자기 보여주는 포지셔닝 트레이스(positioning trace)를 보여줄 수 있다. 이로부터, 우리는 상기 “1km” 데이터 포인트가 나머지 데이터와 일치하지 않으므로 관심 메트릭의 진화를 결정할 때 무시될 수 있다고 추론할 수 있다. 이러한 자기 일관성 분석을 통과하지 못하는 데이터의 다른 예들은 로컬 지자기장(geomagnetic field)에 대해 유효한 값들을 벗어난 자력계 값들과 실제 고도 변화를 시사하는 가속도 데이터의 스파이크와 일치하지 않는 매끄럽거나 변하지 않는 기압계(barometer) 데이터 내 스파이크들을 포함한다.
제1 및/또는 제2 데이터의 분석은 상기 데이터를 서로 및/또는 상기 모션 모델과 비교하는 것을 포함할 수 있다. 예를 들어, 이 분석은 상기 모션 모델에 대응하지 않는 제1 및 제2 데이터의 적어도 하나의 데이터 포인트를 결정하고, 상기 적어도 하나의 데이터 포인트를 정정하는 단계를 포함할 수 있다. 상기 모션 모델(상기 모션 모델은 아래에서 더 자세히 설명됨)이 달리는 사용자(“달리기(running)”에 대한 것이고 제1 및 제2 데이터의 분석에서 허위 데이터 포인트(spurious data point)가 그러한 모션에 대응되지 않는다고 강조되었다고 가정한다 - 예를 들어, 달리는 사람과 일치하지 않는 시간 프레임에 센서가 거리를 이동했다고 시사하는 데이터 포인트 - 이러한 잘못된 데이터 포인트는 향상된 정확도로 관심 메트릭의 진화를 얻기 위해 정정(예를 들어 제거)될 수 있다. 이러한 분석은 예를 들어 GNSS 시스템들에서 일반적인 문제점인 허위 결과들(spurious results)을 피하는데 도움이 된다.
데이터를 비교할 때 일치하지 않을(disagree) 수 있는 임의의 두 센서들로부터의 측정들 사이 연계(tie)를 끊기 위해 적어도 3개의 센서들로부터의 데이터를 사용하는 것이 특히 유리하다. 예를 들어, 제1, 제2 또는 제3 플랫폼에 장착되고 제3 시간 기간에 얻어진 제3 센서로부터의 데이터는 제1 및 제2 시간 기간들로부터 얻어진 제1 및 제2 센서들로부터의 데이터와 비교될 수 있다. 상기 제3 시간 기간는 전체적으로 또는 부분적으로 제1 및/또는 제2 시간 기간들과 오버랩(overlap)할 수 있다.
순간 데이터 포인트들을 비교하는 "단일 에포크(single epoch)"접근법을 사용하는 Markovian 방법의 한계들은 다수의 센서 데이터 스트림을 처리하기 위해 다수의 시간기간을 사용하는 본 발명에 의해 극복된다. 바람직한 실시예에서, 이러한 시간 기간들은 얻어진 데이터의 분석이 최신 방법들에 비해 추가 이점을 제공하도록 한다.
특히 유리하게, 서로에 대한 제1 및 제2 시간 기간의 오버랩(overlap)의 크기(amount) 및/또는 지속시간들(durations)은 제1 및/또는 제2 데이터의 최적 분석을 허용하도록 선택된다. 일반적으로, 제1 및 제2 시간 기간들의 지속시간들은 각각의 센서의 샘플링 주파수, 얻어진 데이터의 요구되는 통계적 신뢰도, 및 임의의 잘못된 결과를 식별하는데 요구되는 데이터의 양 중 적어도 하나에 기초하여 결정된다. 예를 들어, 플랫폼이 정적인지 아닌지를 결정하기 위해, 그러한 결정을 내리는 데 필요한 데이터를 얻기 위한 시간 기간이 요구된다. 얻어진 데이터의 통계의 표준 편차의 명확한 측정을 얻기 위해 100회 측정이 요구될 수 있으며, 따라서 100/fs의 지속시간을 요구하는데, 여기서 fs는 각각의 센서의 샘플링 주파수이다. 다른 예로서, 데이터가 GNSS 센서로부터 획득되고 우리는 허위 데이터 포인트들(예를 들어 1km에서 1km로 이동한 후 다시 돌아가는 GNSS 데이터 포인트)을 식별하고 제거하기를 원하는 경우, 5-10 데이터 포인트들의 롤링 윈도우(rolling window)만이 요구될 수 있다. 이는 관심 플랫폼(platform of interest)의 비교적 매끄러운 모션을 가정한다. 데이터가 손상된 것으로 식별되는 짧은 기간 동안 위치의 측정들의 시계열(time-series)을 제공하는 GNSS 센서가 간섭을 겪는다고 가정한다. 종래의 GNSS 시스템에서, 위치의 트레이스는 미래 데이터 지점에 대한 참조 없이 시간 순서에 따라 점 별로(point by point) 데이터를 분석하기 때문에 유사하게 손상될 수 있다. 바람직하게는, 본 발명에서, 데이터의 분석은 손상된 데이터가 무시될 수 있게 하고, 손상된 기간 이전 및 이후에 얻어진 데이터 만이 손상된 기간 동안 트레이스를 보간하는데 사용될 수 있게 한다. 대안적으로, 손상된 데이터를 식별한 후, 시간 기간들은 동적(dynamically)으로 조정(adjust)될 수 있고, 제1 시간 기간는 손상된 데이터 이전으로 선택되고, 제2 사긴 기간는 손상된 데이터 이후로 선택되고, 상기 두 시간 기간들 사이 위치는 상기 제1 및 제2 시간 기간들로부터 얻어진 데이터를 사용하여 훨씬 더 정확할 가능성이 높은 트레이스를 얻기 위해 보간될 수 있다.
일반적으로, 얻어진 데이터는 관심 메트릭 또는 사용되는 센서들에 적합한 시간 스케일들로 평가된다. 일부 실시예들에서, 제1 및 제2 시간 기간들의 파라미터들(예를 들어, 길이 및 상대 중첩)은 1 및/또는 제2 데이터에서 적어도 하나의 에러의 식별 및 정정을 허용하도록 선택된다.
이러한 방식으로, 다수의 센서로부터의 데이터가 맞춤형 시간 기간들(bespoke time periods)에 걸쳐 분석되고, 상기 분석들에 최적화되고, 궁극적으로 제1 및 제2 시간 인스턴스들 사이의 관심 메트릭의 진화를 결정하기 위해 모션 모델과 결합될 수 있다. 메트릭의 진화의 결정은 제1 및 제2 시간 인스턴스 중 적어도 하나에 대해 미래 및/또는 현재 및/또는 과거 시간들로부터의 다양한 센서 데이터를 사용할 수 있고, 여기서 더 설명될 바와 같이 배치(batch)로서, 또는 시간상으로 순방향 및/또는 역방향으로의 데이터 처리를 포함할 수 있다.
중요하게, 본 발명자들은 사용자에게 제공될 관심 메트릭(포지셔닝과 같은)에 관한 실시간 정보가 항상 필요한 것은 아니라는 것을 깨달았다. 예를 들어, 관심 메트릭이 속도 및 위치 중 적어도 하나인 개인 피트니스 추적 애플리케이션에서, 사용자는 피트니스 세션(fitness session)의 그들의 평가를 향상시키기 위해 이러한 메트릭들을 결정하는 것의 증가된 정확도로부터 이익을 얻을 수 있다. 이러한 평가는 일반적으로 세션이 수행된 후에 수행될 수 있으므로 실시간 정보가 필요하지 않을 수 있다.
관심 메트릭의 진화가 실시간으로 요구되지 않으면, 향상된 성능은 제1 및 제2 데이터 중 적어도 하나를 시간상으로 역방향으로 분석함으로써 유리하게 달성될 수 있다. 예를 들어, 시간상 순방향 및 역방향의 데이터 분석에서 동일한 허위 데이터 포인트가 식별되면, 해당 데이터 포인트는 향후 데이터 세트를 통과할 때 무시되거나 정정될 수 있다.
데이터를 시간상으로 역방향 분석하는 것은 또한 데이터의 신뢰성 및/또는 정확성을 평가 및/또는 정정하기 위해 얻어진 데이터의 비대칭이 사용될 수 있게 유리하게 허용한다. 예를 들어, 센서로부터 얻어진 데이터 내 에러 “이벤트”는 순방향으로 분석할 때 점진적인 변화로 표시될 수 있으며(따라서 반드시 잘못된 것으로 보이지는 않지만), 역방향으로 분석될 때 인정하기 어려운 불 연속적인 점프로 나타날 수 있다. 따라서, 데이터를 시간상으로 역방향으로 분석함으로써, 얻어진 데이터는 그에 따라 정정될 수 있다(예를 들어, 이벤트를 구성하는 데이터 포인트를 제거함으로써). 바람직한 실시예에서, 시간 상으로 역방향으로의 제1 및/또는 제2 데이터의 분석은 잘못된 데이터가 관심 메트릭 및 데이터의 후속 통과들로부터 제거될 수 있게 하여, 순방향 및 역방향의 단순 평균화(simple averaging)를 통해 당한 개선을 제공한다.
특히 유리한 실시예들에서, 제1 및/또는 제2 데이터는 시간상으로 순방향 및/또는 역방향으로 반복적으로(iteratively) 분석된다. 바람직하게는, 상기 제1 및/또는 제2 데이터의 제1 분석이 적어도 하나의 신뢰 임계치(confidence threshold)에 기초하고 상기 적어도 하나의 신뢰 임계치는 상기 제1 분석 이후에 수정되고(modified), 상기 제1 및/또는 제2 데이터의 다음 분석은 상기 수정된 신뢰 임계치에 기초한다. 다시 말해서, 이러한 반복 분석을 위해, 적어도 두 번의 통과들(분석들)이 제1 데이터 및/또는 제2 데이터를 통해 이루어지고, 신뢰 임계치(들)는 각각의 통과 후에 수정될 수 있다. 상기 수정은 상기 제1 분석의 결과에 기초할 수 있다. 예를 들어, 제1 통과에서 데이터는 어느 데이터도 걸러내지 않을 수 있는 제1 신뢰 임계치로 분석될 수 있다. 데이터의 다음 통과들에서, 더 엄격한 신뢰 임계치가 사용될 때 특정 시간 기간들로부터의 일부 데이터는 배제될 수 있다(또는 더 큰 불확실성을 할당 받을 수 있다). 데이터를 통한 다음 통과들에서 변경되는 신뢰 임계치는 유리하게는 데이터를 통한 다중 통과들을 통해서만 잘못된 것으로 명백해지는 잘못된 측정들의 점진적 제거를 허용한다.
신뢰 임계치들은 센서들의 알려진 통계적 노이즈 특성들에 따라 또는 다른 센서들로부터 도출된 정보들로부터 초기에 설정될(“미리 결정된”) 수 있고, 제1 센서로부터의 정보는 제2 센서로부터의 측정들의 유효성 테스트를 위한 적절한 임계치(들)를 결정하는데 사용될 수 있다. 예를 들어, 가속도 정보를 제공하는 관성 센서는 동적 모션 동안 GNSS 주파수 측정들의 예상 변동에 대한 임계치들을 설정하는데 사용될 수 있다. 여기서, 위치의 변화들은 가속도의 측정들로부터 추론될 수 있고, 다른 위치 센서 또는 GNSS 로부터 추론되는 위치의 허용할 수 있는 변화의 한계가 설정될 수 있다.
데이터를 통한 이후의 통과에서, 다른 센서들로부터의 정보에 대한 신뢰도는 향상될 수 있고, 예를 들어, 관성 센서(inertial sensor)와 관련(associated)된 바이어스들이 보다 정확하게 알려질 수 있으며, 가속도의 추정치가 향상되고, 따라서 임의의 GNSS 주파수 변동들에 대한 더 엄격한 경계가 된다. 제1 통과 동안 허용되는 주파수 측정 내 글리치(glitch) 또는 에러는 이제 제2 통과에서 제거될 수 있다. 데이터의 반복적 인 분석은 또한 유리하게는 제1 및/또는 제2 센서의 임의의 바이어스가 보다 신뢰성 있게 결정되도록 한다.
실시간으로 또는 거의 실시간으로 관심 메트릭의 진화를 계산할 필요가 없는 경우, 최소 제곱 또는 다른 추정기(estimator)를 사용하여 배치 프로세스(batch process)가 사용될 수 있다. 예를 들어, 제1 및/또는 제2 센서는 초당 50 샘플의 레이트로 데이터를 제공할 수 있지만, 건물 내에서 이동하는 인간 사용자에 대해 고도 추정은 초당 0.5 샘플의 레이트로만 요구될 수 있고, 사용자가 건물의 다른 층을 가로지를 때 이점(benefit)이 고도 변화의 부드럽고 정확한 추정치인 경우 몇 초의 추가 지연이 만족스러울 수 있다. 따라서 이 예에서는, 일반적으로 최신 방법들의 경우에서 그러한 초당 50 개의 속도로 라이브 데이터를 즉시 사용하는 대신 몇 초마다 다양한 데이터 스트림(그 자체로 분석할 수 있는)으로부터의 정보를 배치 처리함으로써 고도를 계산하는 것이 좋다.
배치 프로세스로 또는 시간상으로 순방향 또는 역방향으로 제1 및/또는 제2 데이터를 처리하는 것의 특별한 이점은 여행 중 제1 및/또는 제2 센서(예를 들어, 스마트 폰)를 포함하는 디바이스의 궤도가 정확하게 결정될 수 있다는 것이다. 여정 동안, 미리 결정된 신뢰 임계치를 충족하는 정확한 포지셔닝 데이터는 특정 시간 기간들 동안 얻어질 수 있지만, 이러한 시간 기간들 사이 데이터는 상기 임계치를 충족하지 않을 수 있다. 낮은 신뢰도 시간 기간 동안 얻어진 제1 및/또는 제2 센서로부터의 데이터를 분석하고, 낮은 신뢰도 시간 기간들 내 가능한 궤적들을 바운딩하는(bounding) 높은 신뢰도 시간 기간들 내 궤적들과 비교함으로써, 높은 신뢰도 시간 기간들과 가장 잘 맞는 궤적이 여정의 전체 궤적을 결정하는데 사용될 수 있다. 이것은 예를 들어, 낮은 신뢰도 시간 기간들 동안 모션 모델(아래 설명됨)의 복수의 가능한 위치 콘텍스트를 결정하고 이들 중 높은 신뢰도 시간 기간들의 끝점들에 가장 대응하는 궤적을 낳는 것을 선택함으로써 수행될 수 있다. 다른 실시예들에서, IMU 바이어스들, 스텝 길이 모델들 또는 모션 방향 오프셋들과 같은 시스템 및/또는 모션 모델 파라미터들은 높은 신뢰도 시간 기간들 동안 결정될 수 있고, 센서 데이터가 모션 모델과 결합하는 것을 가능하게 하여 낮은 시간 기간들을 가로질러 포지셔닝 솔루션을 제공한다. 또다른 실시예들에서, 낮은 신뢰도 시간 기간들의 센서 측정들은, 예를 들어, 피팅을 제한하는 수단으로서 높은 신뢰도 시간 기간들로부터의 데이터를 사용하여 전체 궤적의 최소 제곱 피팅(또는 상기 궤적의 섹션들의 부분적 피팅)을 생성함으로써 또는 가장 가능성이 높은 궤적의 결정을 돕기 위해 맵(map)으로부터 얻어진 사전 정보를 사용하여 제한될 수 있다.
전술한 바와 같이, 본 발명자들은 많은 애플리케이션들에서 관심 메트릭의 진화에 대한 실시간 결정이 요구되지 않는다는 것을 유리하게 인식하고, 따라서 결정을 제한하기 위해 얻어진 제1 및 제2 데이터, 및 모션 모델을 사용함으로써 관심 메트릭의 진화에 대한 보다 정확한 결정을 제공하는 수단을 고안하였다. 그러나, 일부 실시예들에서, 제1 및/또는 제2 시간 기간이 제2 시간 인스턴스와 관련하여 미래로 실질적으로 연장되지 않으면, 관심 메트릭의 진화의 거의 실시간 결정이 얻어질 수 있다. 여기서, 근 실시간 결과들은 제공될 수 있고, 이는 다음 분석을 위한 관심 메트릭의 진화에 대한 보다 정확한 결정을 제공하기 위해 더 많은 데이터가 얻어 짐에 따라 계속적으로 정정 및 업데이트 된다.
모션 모델은 제1 및/또는 제2 플랫폼의 일반적인 모션을 나타낸다. 일반적으로, 상기 모션 모델은 상기 제1 플랫폼 및/또는 제2 플랫폼의 모션 콘텍스트(motion context)를 포함하는 모션 콘텍스트 구성요소(motion context component), 및 상기 제1 플랫폼 및/또는 제2 플랫폼의 위치 콘텍스트(position context)를 포함하는 위치 콘텍스트 구성요소(position context component) 중 적어도 하나를 포함한다. 모션 콘텍스트는 예를 들어, “정지(stationary)”“걷기(walking)”“달리기(running)”“크롤링(crawling)”“계단 오름/내림(ascending/descending stairs)”, “차내(in a car)”“자전거(on a bike)”등으로 설명되는 모션의 양상을 나타낸다. 위치 콘텍스트는 제1 및/또는 제2 플랫폼이 지원되는 콘텍스트이며, 일반적으로 그 모션의 방향에 대한 제1 및/또는 제2 플랫폼(즉, 피치(pitch), 요우(yaw) 및 롤(roll)중 적어도 하나)의 자세를 포함한다. 예를 들어, 제1 및 제2 센서는 모두 공통 스마트 폰 플랫폼 상에 장착될 수 있으며, 이 경우 위치 콘텍스트는 전화가 사용자의 주머니에 있거나, 사용자의 손에 있거나, 운동 중에 사용자의 팔에 묶여 있거나, 또는 전화 통화 중 사용자의 귀 옆에 있는 것일 수 있다.
일부 실시예들에서, 상기 모션 모델은 상기 모션의 측면을 정량적으로 기술하는 적어도 하나의 파라미터, 및/또는 상기 모션의 측면을 정량적으로 기술하는 파라미터를 결정하기 위해 사용될 수 있는 적어도 하나의 함수를 포함한다. 예를 들어, 상기 적어도 하나의 파라미터는 보행자 스텝 길이, 보행자 스피드, 보행자 키, 보행자 다리 길이, 스테어 라이즈(stair rise), 스테어 런(stair run), 또는 모션 방향 오프셋(direction-of-motion offset)으로의 컴퍼스 헤딩(compass-heading) 중 적어도 하나일 수 있다. 상기 적어도 하나의 함수는 예를 들어, 사용자의 스텝 길이가 스테핑 케이던스 또는 스피드의 함수로서 파라미터화 될 때와 같이 보행자 스텝 길이를 결정하는 함수일 수 있다. 당업자에게 명백한 바와 같이, 파라미터 및 함수의 다른 예들이 가능하다.
일반적으로, 모션 모델은 하나 이상의 구성요소들, 예를 들어, 전술한 바와 같이 모션 콘텍스트 구성요소, 위치 콘텍스트 구성요소 및/또는 파라미터 구성요소를 포함한다. 일부 실시예들에서, 모션 모델의 적어도 하나의 파라미터는 사용자에 의해 수동으로 정의된다. 예를 들어, 사용자는 0도의 모션 방향 오프셋으로의 일정한 컴퍼스 헤딩(즉, 위치 콘텍스트) 및 0.8미터의 보행자 스텝 길이로 구성된 걷기 모션 모델을 지정할 수 있다.
대안적으로 또는 추가적으로, 모션 모델의 적어도 하나의 파라미터는 제1 및/또는 제2 데이터로부터 자동적으로 결정될 수 있다. 일부 예들에서, 모션 모델의 적어도 하나의 파라미터는 시간에 따른 관심 메트릭의 진화의 적어도 하나의 이전 결정 동안 제1 및/또는 제2 센서로부터 얻어진 데이터의 분석으로부터 자동으로 결정된다. 일반적으로 관심 메트릭의 진화의 이러한 이전 결정은 이전의 '여정(journey)'이라고 할 수 있다.
모션 모델 파라미터는 하나 이상의 여정들로부터의 센서 데이터를 사용하여 자동적으로 생성될 수 있다. 바람직한 실시예에서, 모션 모델은 하나 이상의 센서 측정치, 또는 그 파생물(derivatives)의 함수인 파라미터화된 모델이다. 예를 들어, 전술한 바와 같이, 사용자의 스텝 길이는 스테핑 케이던스(stepping cadence)의 함수로서 파라미터화 될 수 있다. 가장 잘 맞는 파라메트릭 모델(best-fitting parametric model)의 계수들(coefficients)은 GNSS 센서 측정들로부터 도출된 이동한 거리(distance travelled), 및 가속도계 센서 데이터로부터 도출된 스텝 검출들(및 궁극적으로 스테핑 케이던스)로 자동적으로 생성될 수 있다. GNSS 커버리지가 열악하거나 없는 기간들 동안, 훈련된 모션 모델은 스테핑 케이던스의 측정으로부터 스텝 길이(및 따라서 이동한 거리)의 양호한 추정치를 제공하는데 사용될 수 있다.
실시예들에서, 상기 적어도 하나의 파라미터 및/또는 주어진 모션 모델의 함수는 상기 제1 및/또는 제2 플랫폼의 아이덴티티(identity), 상기 위치 콘텍스트 또는 상기 모션 콘텍스트 중 적어도 하나에 의해 인덱스된(indexed) 어드레서블 스토리지(addressable storage)에 저장된다.
제1 및/또는 제2 플랫폼들의 모션 모델은 미리 선택된 모션 모델일 수 있다. 이러한 경우, 사용자는 일반적으로 제1 및 제2 시간 기간들의 지속시간에 대해 그러나, 일반적으로 적어도 제1 및 제2 시간 인스턴스들 사이 시간의 기간에 대해(즉, 관심 메트릭의 진화가 결정되는 동안) 제1 및/또는 제2 플랫폼의 모션을 나타낼 수 있는 모션 모델을 선택할 수 있다. 예를 들어, 사용자는 달리는 동안 그 또는 그녀의 경로 및 스피드를 결정하기 위해 본 발명의 방법을 사용할 수 있다. 그러한 경우, 달리기를 시작하기 전에, 사용자는 "달리기"를 나타내는 모션 모델을 선택할 것이다.
바람직한 실시예에서, 모션 모델은 자동적으로 선택된(automatically-selected) 모션 모델이다. 상기 모션 모델은 상기 제1 및/또는 제2 시간 인스턴스들 간 상기 시간 기간 동안 및/또는 상기 제1 및/또는 제2 시간 기간들 동안 상기 제1 및/또는 제2 센서들에 의해 얻어지는 상기 데이터의 분석들을 통해 상기 제1 및 제2 시간 인스턴스들 간 위치 콘텍스트 및 상기 모션 콘텍스트 중 적어도 하나를 결정하는 것에 의해 자동적으로 선택될 수 있다. 데이터는 가속도계 센서 및 자이로스코프 센서로부터 수집될 수 있고, 현재 모션 및/또는 위치 콘텍스트를 결정하는데 사용되는 그러한 측정들의 분석에서 수집될 수 있다. 위치 콘텍스트는 몇 분 동안 지속될 수 있지만 변경하는 데 몇 초 밖에 걸리지 않을 수 있다(예컨대, 사용자의 주머니에서 사용자의 귀로 이동). 따라서 위치 콘텍스트를 결정하거나 위치 콘텍스트의 변경을 시도하는 시간 기간의 지속시간은 1-10초 정도일 수 있다. 현재 사용자 및 센서/플랫폼 조합에 적합한 미리 결정된 파라미터를 갖는 대응하는 모션 모델은 일반적으로 어드레서블 스토리지(addressable storage)에 저장된 데이터로부터 자동으로 선택될 수 있다.
예를 들어, 제1 및/또는 제2 플랫폼의 식별, 결정된 모션 콘텍스트 또는 결정된 위치 콘텍스트 중 적어도 하나는 어드레서블 스토리지로부터 위치 콘텍스트, 모션 콘텍스트, 및 제1 및/또는 제2 플랫폼의 식별 중 적어도 하나를 사용하여 인덱스된 적어도 하나의 함수 및/또는 모션 모델 파라미터를 리콜 하는데 사용될 수 있다.
모션 모델 파라미터 및/또는 함수가 어드레서블 스토리지에 저장되어 있지 않는 것이 발견되면, 상기 방법은 상기 모션 모델에 대한 함수 및/또는 적어도 하나의 모션 모델 파라미터를 결정하는 단계 및 상기 제1 및/또는 제2 플랫폼, 모션 콘텍스트 및 위치 콘텍스트의 아이덴티티 중 적어도 하나를 사용하여 인덱스 된 어드레서블 스토리지 내의 상기 적어도 하나의 모션 모델 파라미터 및/또는 함수를 저장하는 단계를 더 포함할 수 있다.
일반적으로, 상기 관심 메트릭의 상기 진화의 상기 제한하는(constraining) 단계는 상기 제1 센서 및/또는 제2 센서의 측정 바이어스(measurement bias)를 결정하는 단계 및 상기 바이어스를 정정하는 단계를 포함한다. 이는 특히 이러한 바이어스가 발생하기 쉬운 저비용 센서들이 사용될 때 유리하다. 모션 모델이 “달리기”인 것을 가정하면, 각 사용자의 발 속도는 지상에 있을 때 일정한 간격으로 0이된다고 알려져 있다. 관성 센서가 사용자의 발에 위치하는 경우, 영 속도 업데이트 분석(zero velocity update analysis)은 각 고정 기간 동안 관성 센서의 바이어스를 결정하는데 사용될 수 있다. 이 바이어스 측정은 관심 메트릭의 결정의 정확성을 향상시키기 위해 결정된 센서 바이어스를 고려함으로써 관심 메트릭의 진화를 제한하는데 사용될 수 있다.
제2 데이터는 제1 플랫폼에 장착된 센서로부터 얻어질 수 있다. 예를 들어, 제1 및 제2 센서는 스마트 폰 또는 스마트 워치 내에 또는 차량 내에 장착될 수 있다. 다른 실시예들에서, 제2 데이터는 제2의 상이한 플랫폼에 장착된 제2 센서로부터 얻어진다. 일례로, GNSS 센서는 사용자가 착용 한 시계에 장착되고, 관성 센서는 사용자의 발에 장착된다. GNSS 센서 및 관성 센서로부터 수신된 데이터의 조합은 모션 모델과 함께 사용되어, 사용자에 의해 이동된 경로의 추정치를 제한하고 따라서 정확성을 향상시킬 수 있다. 일반적으로, 센서들이 분리된 제1 및 제2 플랫폼들에 장착되는 경우, 제1 및 제2 플랫폼들은 적어도 하나의 모션의 구성요소를 공통으로 갖는다. 더 나아가, 일반적으로 제1 및 제2 플랫폼은 동일한 관심 바디(body of interest)(예를 들어, 인간 사용자) 상에 장착되고, 관심 메트릭의 진화는 관심 바디에 대해 결정된다. 다른 실시예들에서, 제2 플랫폼은 동일한 관심 바디에 장착되지 않을 수 있다. 예를 들어, 제2 플랫폼의 센서는 차동 GNSS 정정(differential GNSS corrections) 또는 국부 기압 측정(local barometric pressure measurements)과 같은 제1 플랫폼의 센서들에 대한 차동 정정들을 제공할 수 있다.
일반적으로, 제1 및 제2 시간 기간들은 적어도 부분적으로 오버랩하고, 이는 필수적인 것은 아니며, 실제로 제1 및 제2 시간 기간들은 오버랩 하지 않을 수 있다.
전술한 바와 같이, 유리한 실시예에서, 제1 및 제2 시간 기간들 중 적어도 하나는 제2 시간 인스턴스와 관련하여 미래로 연장된다. 제1 및 제2 시간 기간들 중 적어도 하나가 제2 시간 인스턴스(즉, 관심 메트릭의 진화의 끝점(endpoint))와 관련하여 미래로 연장되는 경우, 관심 시간 기간의 과거, 현재 및 미래에 걸친 정보의 이용 가능성으로 인해 제한하는 단계가 개선된 신뢰도로 수행될 수 있으므로 관심 메트릭의 진화에 대한 보다 정확한 결정이 이루어질 수 있다. 과거 및 미래 정보가 모두 이용 가능한 경우, 최신 시스템들에서와 같이 과거 정보만 이용 가능할 때 도출된 외삽된 제한들(extrapolated constraints)보다 더 높은 신뢰도의 보간된 제한(interpolated constraints)이 도출될 수 있다. 더 나아가, 모션 모델이 제1 및/또는 제2 데이터로부터 결정되는 실시예들에서, 제2 시간 인스턴스에 대해 미래로 연장되는 제1 및/또는 제2 시간 기간을 갖는 것은 유리하게 개선된 모션 모델이 결정될 수 있게 한다.
일반적으로, 제2 시간 기간는 제1 시간 기간보다 길다. 이는 제1 시간 기간에 대한 과거 및/또는 미래로부터의 데이터가 제1 및 제2 시간 인스턴스 사이의 관심 메트릭의 진화의 결정을 최적으로 제한하는데 사용될 수 있게 한다. 관심 메트릭의 진화는 제1 및 제2 시간 인스턴스 사이의 다수의 시간 인스턴스들에서 관심 메트릭에 대한 솔루션을 계산하고, 이들 솔루션을 제1 및 제2 데이터 및 모션 모델에 의해 제한함으로써 결정될 수 있다.
일부 실시예들에서, 제2 시간 기간는 제1 및/또는 제2 센서로부터 얻어진 모든 데이터를 포괄(encompass)하도록 연장될 수 있다. 예를 들어, 제1 및/또는 제2 센서가 보행자 항법 시스템의 일부인 경우, 제2 시간 기간는 항법 시스템의 사용자에 의해 실시된(undertaken) 다수의 여정들에 걸쳐 있을 수 있다. 이 긴 시간 기간에 걸친 제2 데이터의 분석은 스텝 길이, 보행 특성, 높이, 다리 길이, 예측된 모션 콘텍스트 및 위치 콘텍스트와 같은 정보가 사용자에 대해 추론될 수 있게 할 수 있다. 더 나아가, 제1 및/또는 제2 센서 자체에 관한 정보, 예를 들어 바이어스 및 노이즈 특성이 추론될 수 있다. 유리하게는, 대량의 데이터를 포괄하는 이러한 제2 시간 기간는 션 모델의 정확도(미리 결정되지 않은 경우)를 향상시켜, 관심 메트릭의 보다 정확한 결정을 제공한다. 더 나아가, 이러한 실시예는 자동 사용자 식별(automatic user identification)을 허용할 수 있다(예를 들어, 공유 디바이스가 둘 이상의 사용자에 의해 사용될 때).
일부 실시예들에서, 제1 센서는 제2 센서보다 빠른 데이터 샘플링 레이트를 갖는다.
제1 센서는 가속도계, 자이로스코프, 자력계, 기압계(barometer), GNSS 유닛, 라디오 주파수(RF) 수신기(예를 들어, WiFi, 블루투스, 셀룰러 전화(cellular telephony), 디지털 텔레비전/라디오를 사용), 만보계(pedometer), 광 센서, 카메라, 압력 센서, 스트레인 센서(strain sensor), 근접 센서(proximity sensor), RADAR 및 LIDAR 중 하나를 포함할 수 있다. 당업자에게 발생할 수 있는 다른 센서 유형이 이 목록에 추가될 수 있다. 일부 실시예들에서, 제1 센서는 관성 측정 유닛이고 관성 항법 시스템의 일부일 수 있다.
제2 센서는 가속도계, 자이로스코프, 자력계, 기압계(barometer), GNSS 유닛, 라디오 주파수(RF) 수신기(예를 들어, WiFi, 블루투스, 셀룰러 전화(cellular telephony), 디지털 텔레비전/라디오를 사용), 만보계(pedometer), 광 센서, 카메라, 압력 센서, 스트레인 센서(strain sensor), 근접 센서(proximity sensor), RADAR 및 LIDAR 중 하나를 포함할 수 있다. 당업자에게 발생할 수 있는 다른 센서 유형이 이 목록에 추가될 수 있다. 일부 실시예들에서, 제2 센서는 관성 측정 유닛이고 관성 항법 시스템의 일부일 수 있다.
바람직한 실시예들에서, 상기 방법은 제3 시간 기간에서, 상기 제1 센서, 제2 센서 및 제3 센서 중 적어도 하나로부터 제3 데이터를 얻는 단계를 더 포함하고, 상기 관심 메트릭의 상기 진화의 상기 결정은 상기 제3 데이터에 의해 더 제한된다. 제3 센서는 제1 또는 제2 플랫폼, 또는 제3 플랫폼 상에 위치될 수 있다. 제3 데이터의 분석은 제1 및 제2 데이터에 대해 전술한 바와 동일한 방식으로 수행될 수 있다.
본 발명의 제2 측면에 따르면, 컴퓨터에 의해 실행될 때 상기 컴퓨터가 본 발명의 제1 측면의 방법을 수행하도록 하는 실행 가능한 명령어들을 포함하는, 컴퓨터 판독 가능 매체가 제공된다.
컴퓨터 판독 가능 매체는 다운로드 서버에 제공될 수 있다. 따라서, 실행 가능한 명령어들은 소프트웨어 업그레이드에 의해 컴퓨터에 의해 획득될 수 있다.
본 발명의 제3 측면에 따르면, 시간에 따른 관심 메트릭(metric of interest)의 진화(evolution)를 결정하기 위해, 위치 또는 이동(movement)이 결정될 수 있는 측정들을 하는 적어도 하나의 센서, 및; 제1 시간 기간에서, 제1 플랫폼에 장착된 제1 센서로부터 제1 데이터를 얻는 단계; 제2 시간 기간에서, 제2 플랫폼 또는 상기 제1 플랫폼에 장착된 제2 센서 및/또는 상기 제1 센서로부터 제2 데이터를 얻는 단계; 제1 및 제2 시간 인스턴스들(time instances) 간 관심 메트릭의 상기 진화를 결정하는 단계 - 상기 제1 및 제2 시간 인스턴스들 중 적어도 하나는 상기 제1 및 제2 시간 기간들 중 적어도 하나 내에 있음 - 의 단계들을 수행하도록 구성된 프로세서를 포함하고, 상기 관심 메트릭의 상기 진화는 제1 및/또는 제2 플랫폼의 모션 모델(motion model), 상기 제1 데이터 및 제2 데이터에 의해 제한(constrained)되는, 시스템이 제공된다.
본 발명의 방법 및 시스템은 관심 메트릭의 진화를 결정하기 위해 임의의 센서들로부터의 데이터를 결합하는데 사용될 수 있지만, 본 발명은 항법 시스템들의 분야에서 특별한 애플리케이션을 가지고, 여기서 관심 메트릭은 위치 및/또는 속도와 같은 항법 데이터이다. 이와 관련하여, 본 발명은 최신 기술에서 사용되는 방법에 비해 많은 장점을 갖는다. 예를 들어, 제1 데이터, 제2 데이터 및 모션 모델에 의해 제공된 제약들 때문에, 본 발명은 저비용, 스마트폰 수준 관성 측정 유닛들(smart phone-grade inertial measurement units)을 사용하여 GNSS 데이터에 대한 요구 없이 정확하고, 높은 시간 해상도(high time-resolution)의 보행자 항법 솔루션을 제공할 수 있다. 이는 위성 커버리지가 필요하지 않다는 것 만을 의미하는 것이 아니라 높은 시간 해상도 트레이스를 가능하게 하는 IMU들에 대한 업데이트 레이트가 일반적으로 센서 플랫폼들의 궤적의 GNSS 유닛들에 대해서(일반적으로 GPS에 대해 1Hz인 것에 반해 IMU에 대해 100Hz정도)보다 훨씬 빠르다는 사실을 또한 이용한다. 더 나아가, 본 발명의 데이터의 혁신적인 조합은 널리 이용 가능한 저비용 MEMS IMU들로부터 정확한 네비게이션 정보가 얻어질 수 있는 반면, 종래의 방법들을 사용하여 이러한 디바이스들은 GNSS 데이터가 이용 가능하지 않을 때 몇 초 동안만 안정적인 네비게이션 솔루션을 제공할 수 있음을 의미한다.
본 발명의 예들은 첨부된 도면들을 참조하여 이제 설명될 것이다.
도 1은 본 발명을 구현할 수 있는 포터블 디바이스(portable device)의 논리 다이어그램(logical diagram) 개략도이다.
도 2는 제1 및 제2 시간 기간들의 센서들에 의해 얻어진 데이터를 개략적으로 나타난다.
도 3은 두 시간 인스턴스들 간 GNSS 센서에 의해 얻어진 위치 데이터 예를 개략적으로 도시한다.
도 4는 시간 인스턴스들 사이에서 결정된 스마트 폰의 위치의 진화를 개략적으로 도시한다.
도 5는 제1 및 제2 시간 기간들에 걸쳐 얻어진 데이터를 개략적으로 나타낸다.
도 6은 본 발명의 일 실시예의 주 단계들(main steps)을 개설하는(outlining) 흐름도이다.
도 7은 본 발명의 추가 실시예의 주 단계들을 개설하는 흐름도이다.
도 8은 적어도 하나의 센서로부터의 데이터가 관심 메트릭의 진화를 결정하기 위해 사용될 수 있는 방법의 도식적 개요(schematic overview)이다.
도 1은 본 발명을 구현할 수 있는 포터블 디바이스(100)의 도식적 논리 다이어그램이다. 이 예에서, 상기 포터블 디바이스(100)는 스마트폰이지만, 본 발명은 웨어러블 디바이스들(예컨대 스마트 워치들 및 다른 쥬얼리(jewellery)), 태블릿들, 랩톱 컴퓨터들 등과 같은 디바이스들의 범위에 구현될 수 있다.
도1은 프로세서(1), 통신 모듈(2), 메모리(3), 스크린(4), 로컬 스토리지(5)(비 휘발성 메모리) 및 배터리(7)를 포함하는 상기 스마트 폰(100)의 관련 있는 구성요소들을 도시한다. 상기 통신 모듈(2)은 수신기, 송신기, 안테나, 로컬 발진기 및 신호 프로세서와 같은 무선 통신을 위해 필요한 구성요소들을 포함한다.
상기 디바이스(100)는 또한 가속도계(12), 자이로스코프(14) 및 자력계(16)를 포함하는 관성 측정 유닛(IMU)(10)을 포함한다. 상기 가속도계는 상기 디바이스의 가속도를 측정하도록 구성되고, 상기 자이로스코프는 상기 디바이스의 회전 레이트를 측정하도록 구성되고, 상기 자력계는 로컬 자기자의 세기 및 방향, 따라서 상기 디바이스(100)의 상기 컴퍼스 헤딩을 측정하도록 구성된다. 상기 가속도계, 자이로스코프 및 자력계는 일반적으로 3축 디바이스인 MEM들 디바이스들(MEMs devices)일 수 있고, 각 직교 축은 별도의 센서를 포함한다. 다른 관성 센서들은 이러한 IMU에 포함될 수 있다.
디바이스(100)는 GPS 또는 GLONASS 센서(또는 둘 다), 및 광 센서(30)와 같은 GNSS 센서(20)를 더 포함한다. 다른 실시예들에서, 다른 센서들이 사용될 수 있고, 그 예들은 위에서 논의되었다.
통신 모듈(2), 메모리(3), 스크린(4), 로컬 스토리지(5), 배터리(7), IMU(10), GNSS 센서(20) 및 광 센서(30) 각각은 프로세서(1)와 논리적으로 통신한다. 상기 프로세서(1)는 또한, 상기 디바이스의 위치 및 속도, 다른 메트릭들 중에서 상기 데이터로부터 결정하고 상기 디바이스 센서들로부터 데이터를 얻기 위해 동작할 수 있는 항법 솔루션 유닛(NSU)(40)과 논리적으로 통신한다. 간략화를 위해, 이하의 설명에서, 상기 관심 메트릭의 상기 진화는 디바이스(100)의 위치, 즉 시간에 따른 그것의 궤적이다.
NSU(40)는 하드웨어, 펌웨어, 소프트웨어, 또는 그들의 조합으로 구현될 수 있다.
종래, 도 2에 개략적으로 도시된 바와 같이, 2개의 시간 인스턴스 T1 및 T2)사이에서 디바이스의 위치의 진화를 추적하는 것이 바람직한 경우, 시간 간격 T1 부터 T2의 각 시간 인스턴스에서, 위치 데이터를 얻기 위해 가속도계 센서(12)로부터 얻어진 데이터의 이중 적분(double integration)(중력을 보정하는 동안) 및 디바이스 자세(device attitude)를 결정하도록 레이트 자이로스코프(14)로부터의 데이터의 단일 적분(single integration)을 수행함으로써 제공될 수 있다. 그러나, 위에서 논의되고 당 업계에 잘 알려진 바와 같이, 소비자 등급 관성 센서들(consumer-grade inertial sensors)에 기초한 이러한 솔루션들은 일반적으로 노이즈가 많고 자주 형편없이 조정된 센서들로부터의 측정들의 수치 적분으로 인해 몇 초 만에 큰 축적된(large accumulated) 자세(attitude) 및 위치 에러들을 겪을 수 있다. 유사하게, 상기 디바이스가 위성 배열(satellite constellation)에 대해 명확한 가시선을 가질 때 GNSS 센서들이 정확한 위치 데이터를 제공할 수 있지만, 이러한 센서들로부터의 위치 데이터는 상기 사용자가 건물 내부 또는 “도시 협곡(urban canyon)”을 통해 이동할 때와 같이, 직접적 가시선이 이용 가능하지 않을 때 큰 에러들을 겪을 수 있다(또는 전혀 이용 가능하지 않을 수 있다).
도 2는 시간 인스턴스 T1과 T2 사이에서 디바이스의 정확하고 신뢰할 수 있는 궤적을 제공하기 위해 본 발명이 이러한 문제들을 극복하는 방법을 개략적으로 도시한다.
도 2의 박스(210)는 T0(예를 들어 사용자가 아침에 스마트 폰을 켰을 때)부터 현재 예에서 현재 시간인 T3 사이 시간 기간에 걸쳐 광 센서(30), GNSS 센서(20), IMU(10)의 센서들에 의해 얻어진 데이터를 개략적으로 나타낸다. 이 논의의 목적을 위해, T0와 T3사이 이 시간 기간는 제2 시간 기간(210)로 지칭될 것이다.
유사하게, 박스(220)는 T2과 이 논의의 목적을 위해 제1 시간 기간로 지칭될 것인 T2사이 시간 기간에 걸쳐 광 센서(30), GNSS 센서(20), IMU(10)의 센서들에 의해 얻어진 데이터를 개략적으로 나타낸다. 이 예에서, 반드시 그런 것은 아니지만, 상기 관심 메트릭(위치)의 상기 진화는 제1 시간 기간에 대응하는 시간 인스턴스들 T1과 T2 사이에 측정된다. 예를 들어, 상기 위치의 상기 진화는 상기 시간 인스턴스들 T0와 T2사이에서 결정되는 것이 바람직할 수 있다.
제1 시간 기간에 얻어진 데이터(제1 데이터) 및 제2 시간 기간에 얻어진 데이터(제2 데이터)는 이 경우 시간 인스턴스들 T1과 T2사이 상기 디바이스의 궤적인 원하는 솔루션을 계산하는 NSU(40)에 제공된다. 상기 솔루션은 시간 인스턴스들 T1과 T2사이 디바이스의 제1 데이터 및 제2 데이터, 및 모션 모델 둘 모두에 의해 제한된다.
상기 모션 모델은 상기 디바이스의 일반적인 모션을 나타내며, 바람직하게는 3 개의 구성요소: 위치 콘텍스트, 모션 콘텍스트 및 디바이스의 모션을 정량적으로 나타내는 적어도 하나의 파라미터를 포함한다. 상기 위치 콘텍스트는 스마트 폰이 지원되는 콘텍스트이고, 디바이스의 자세, 예를 들어 모션의 방향 오프셋을 향하는 것을 포함할 수 있다. 보다 일반적으로, 이는 스마트 폰의 경우 주머니에 있거나, 귀 옆에 있거나, 그의 옆에 사용자의 흔들리는 손 안에 있거나, 사용자의 얼굴 앞에 고정되어 있는 등일 수 있는 상기 디바이스가 운반되는 모드를 유추하는데 사용될 수 있다. 상기 모션 콘텍스트는 일반적으로 스마트 폰의 사용자가(그리고 따라서 상기 스마트 폰 자체가) 이동하는, 예를 들어, 걷거나, 달리거나, 기어가거나, 사이클링(cycling)하는 등의 모드를 설명할 수 있다. 마지막으로, 적어도 하나의 파라미터는 모션의 양태, 예를 들어, 스텝 길이 또는 사용자의 스피드를 정량적으로 기술한다.
상기 솔루션이 상기 제1 데이터, 제2 데이터 및 상기 모션 모델에 의해 제한되기 때문에, 이는 상기 센서들로부터 얻은 잘못된 데이터가 위치 솔루션을 제공하는 것에 있어 정정될 수 있음을 의미한다. 예를 들어, 상기 모션 모델이 “걷기(walking)”의 모션 콘텍스트 및 “사용자의 주머니 안”의 위치 콘텍스트를 포함한다면, 상기 모션 모델과 정렬되지 않은(예를 들어, 위치의 갑작스러운 및 큰 변화와 같이, 걷기에 의해 가능하지 않은 허위 데이터 이벤트(spurious data event)) GNSS 센서에 의해 얻은 어느 데이터는 상기 위치 솔루션을 제공할 때 정정 또는 제거될 수 있다.
상기 모션 모델은 예를 들어, 스크린(4)을 통해 사용자에게 나타나는 적절한 그래픽 사용자 인터페이스(graphical user interface; GUI)와 상호작용을 통해 상기 스마트 폰의 사용자에 의해 미리 선택될 수 있다. 예를 들어, 예를 들어, 시간 T1에서, 사용자는 달리기로 결정하고 “달리기”의 모션 콘텍스트를 포함하는 모션 모델을 선택한다. 시간 인스턴스 T1과 T2 사이의 스마트 폰 위치의 진화를 결정할 때, NSU(40)에 의해 제공되는 솔루션은 제1 데이터, 제2 데이터 및 상기 “달리기” 모션 모델에 의해 제한된다.
대안적으로, 제1 및/또는 제2 데이터는 NSU(40)의 분석 모듈(42)에 의해 위치 솔루션을 생성하는데 사용하기 위한 모션 모델을 자동으로 선택하는데 사용될 수 있다. 제2 데이터는 분석 모듈(42)에 의해 분석될 수 있고, 가속도계 및 자이로스코프 센서들로부터의 데이터는 현재 모션 및/또는 위치 콘텍스트를 결정하는데 사용된다. 가속도계(12)는 사용자의 스텝 케이던스(step cadence)를 결정하고 및 상기 모션 콘텍스트가 “걷기”라는 것, 더 나아가 사용자의 스텝 길이가 0.8m라는 것을 결정할 수 있다. 위치 콘텍스트를 결정하기 위해 사용될 수 있는 자이로스코프 센서(14)로부터 얻은 데이터에 더해, 광 센서(30)는 T0와 T3 사이의 시간 동안 최소의 광을 검출하거나 전혀 검출하지 않을 수 있고, 따라서 시간이 일조 시간 동안이라면 상기 스마트 폰은 주머니 또는 가방과 같은 밀폐된 공간에 있다는 것이 추론될 수 있다. 따라서, 상기 제2 시간 기간는 위치 솔루션을 제공하기 위해 상기 제1 시간 기간로부터의 데이터가 처리되는 콘텍스트를 제공하는 것으로 생각될 수 있다. 상기 제1 데이터는 또한 모션 모델을 자동적으로 선택하기 위해 사용될 수 있다.
특히 유리한 실시예들에서, 본 발명의 방법은 스마트 폰(100)과 같은 포터블 디바이스의 사용자가 수많은 그러한 여행들을 할 가능성이 있다는 사실을 이용한다. 따라서, 특정 사용자 및 디바이스/센서 조합에 대한 상기 모션 모델 파라미터들은 머신 러닝 알고리즘에 의해 자동적으로 학습될 수 있고 광범위한 모션 및 위치 콘텍스트에 걸친 복수의 이러한 여정들에 걸쳐 개선될 수 있다. 예를 들어, 복수의 여정들 후, 스마트 폰의 사용자를 위한 신뢰할 수 있는 스텝 길이는 상기 초기에 결정된 0.8m보다는, 0.75m이고, 그로 인해 보다 정확한 항법 솔루션들을 제공한다. 상기 모션 모델들 및 그것들의 다양한 파라미터들은 상기 디바이스 상의 로컬 스토리지(5)에 또는 다른 어드레서블 스토리지 수단들(예컨대, 클라이언트-서버 시스템(client-server system)의 사용을 통해)에 의해 저장될 수 있고, 및 위치 콘텍스트 및/또는 모션 콘텍스트에 의해 인덱스 될(indexed) 수 있다. 이어서, 저장된 모션 모델과 그 대응하는 파라미터들은 특정 모션 및/또는 위치 콘텍스트가 결정될 때 상기 어드레서블 스토리지로부터 자동적으로 선택될 수 있다.
사용자는 하나 이상의 디바이스, 예를 들어, 스마트 워치와 같은 웨어러블 디바이스 및 스마트폰을 사용할 수 있다. 다른 실시예들에서, 상기 모션 모델 및 관련된 파라미터들은 디바이스 및/또는 사용자에 의해 더 인덱스 될 수 있고, 이로써, 일반적으로, 디바이스와 그것의 현재 사용자에 적합한 모션 모델은 자동적으로 선택될 수 있다.
바람직한 실시예들에서, 제1(220) 및 제2(210) 시간 기간들 동안 얻어진 상기 데이터는 시간 인스턴트들 T1 및 T2 사이의 상기 디바이스 궤적을 결정하는 동안 상기 NSU(40)의 분석 모듈(42)에 의해 분석된다. 이러한 분석은 순간 추정들(instantaneous estimates)에 대신 의존하는 최첨단 시스템들과 비교하여 개선된 항법 솔루션들을 제공하기 위해, 상기 제1 및 제2 시간 기간들 동안 얻어진 데이터의 정확성 및 신뢰성의 평가를 유리하게 허용한다. 예를 들어, 도 2에 도시된 바와 같이, 제2 시간 인스턴스(T2)는 실제로 여기서는 T3인 현재 시간과 관련하여 과거이다. 순간 위치 데이터가 항상 요구되는 것은 아니고, 실제로 많은 경우 디바이스의 사용자들은 더 정확한 위치 데이터를 얻기 위해 즉각적인 결과들을 기꺼이 포기할 것이다. 상기 T2와 T3사이 시간 지연(time lag)은 약 1초 이상일 수 있다.
분석 모듈(42)에 의해 수행되는 이러한 분석은 자기 일관성 분석(self-consistency analysis)(각 시간 기간에 걸쳐 센서에 의해 얻어진 데이터를 분석) 및 상호 참조 분석(cross-reference analysis)을 포함할 수 있고, 하나의 센서로부터의 상기 데이터는 다른 센서 및/또는 상기 모션 모델로부터의 데이터와 비교된다. 상기 분석 모듈에 의해 수행되는 상기 분석은 상기 얻어진 데이터를 순방향 및/또는 역방향으로 또는 배치 프로세스(batch process)로서 분석하는 것을 포함할 수 있다.
예를 들어, 상기 모션 모델이 “걷기”이지만, 상기 GNSS 센서로부터 얻어진 데이터의 분석에서, 그러한 걷기 모션 모델과 맞지 않는 데이터 이벤트가 관찰되는 상황을 예로 든다(예컨대, 50m의 급격한 위치 이동). 이 이벤트는 신뢰할 수 없는 것으로 플래그 될 수 있고, 따라서 NSU(40)에 의해 제공되는 상기 최종 위치 솔루션에서 사용되지 않는다.
분석 모듈(42)에 의해 수행된 분석은 얻어진 데이터를 시간에 따라 순방향 및/또는 역방향으로 처리하는 것을 포함할 수 있으며, 이는 그들 내 임의의 비대칭들(any asymmetries)이 그들의 신뢰성 및 정확성을 결정하는데 사용될 수 있게 한다. 도 3은 GNSS 센서(20)에 의해 얻어진 1차원 위치 데이터를 개략적으로 도시한다. 이 예에서, 시간 인스턴스들 TA와 TB 사이의 위치의 플롯된(plotted) 변화는 잘못된 위치 데이터(erroneous position data)에 의해 야기된다. 데이터를 순방향으로(forwards in time) 처리할 때, 기간(A)에 걸친 위치의 점진적 변화는 초기에 상기 디바이스의 가능한 “허용된” 모션으로 보일 수 있다(예를 들어, 상기 허용된 모션들이 현재 모션 모델 및/또는 IMU로부터의 측정들에 의해 제한되는). 이러한 상황들에서, 시간 기간(A)로부터의 상기 잘못된 GNSS 위치 데이터는 상기 항법 솔루션을 생성하기 위해 사용된다. 시간 기간(B)에 걸친 급격한 위치 변화는 상기 디바이스의 모션의 허용된 범위 밖에 있고, 상기 GNSS 위치 데이터에 잠재적 문제가 있음을 나타낸다.
그러나, 상기 시간 순방향 처리(forward-in-time processing)만으로는 시간 인스턴스(TB) 전후의 데이터에 에러가 있는지 여부가 확실하지 않다. 시간 순방향 분석만을 사용하는 나이브 시스템()에서 시간 인스턴스(TB)(여기서는 “C”로 표시) 후의 “정확한(accurate)”위치 데이터의 일부 또는 전부는 거절될 수 있고, 이들은 이제 시간 기간(A)로부터의 잘못된 데이터에 의해 손상된 항법 솔루션과 일치하지 않기 때문이다. 극단적인 경우 상기 시스템은 트루 항법 솔루션(true navigation solution)을 복구하지 못할 수 있다. 동일한 데이터에 대해 시간 역방향 처리(backwards-in-time processing)를 적용함으로써(즉, TB로부터 TA로), 시간 기간(B)에 걸친 위치의 상기 거의 불 연속적인 점프는 상기 디바이스의 허용된 모션과 일치하지 않는 것으로 검출되고, 및 결과적으로 상기 위치 데이터는 상기 항법 솔루션을 얻기 위해 데이터를 결합할 때 무시된다(또는 낮은 신뢰도(confidence)를 할당 받는다). 이는 상기 위치 데이터가 상기 모션 모델로부터의 상기 디바이스의 상기 “허용된” 모션 및 현재 항법 솔루션과 일치한다고 간주되는 때까지 계속된다. 예를 들어, 도 3에서, TB부터 TA사이 상기 잘못된 데이터의 전부 또는 대부분은 시간 역방향 처리 동안 NSU(40)에 의해 바르게(correctly) 무시될 것이다(또는 낮은 신뢰도가 주어진다).
상기 분석은 시간 상으로 순방향 및/또는 역방향으로 얻어진 데이터를 반복적으로 처리하는 것을 포함할 수 있다. 예를 들어, 상기 데이터의 초기 통과(initial pass)에 적용되는 신뢰도 임계치들(confidence thresholds)은 모든 상기 얻어진 데이터가 NSU(40)에 의해 제공되는 항법 솔루션에 사용되는 것을 허용하는 것일 수 있다. 물론, 이들 데이터는 도3에 도시된 시간 인스턴스 TA와 TB 사이에서 얻어진 상기 GNSS 데이터와 같은 잘못된 결과를 포함할 수 있다; 그러나, 상기 디바이스에 의해 취해진 실제 모션을 나타낼 수 있는 데이터를 잃지 않는 것이 중요하다. 상기 데이터의 후속 통과들에서, 특정 시간 기간들(TA와 TB사이와 같은)로부터의 데이터는 상기 제1 통과 후에 결정된 새로운 신뢰도 임계치를 충족시키지 않을 수 있고, 따라서 무시되거나 정정된다. 단순히 시간 상으로 순방향으로 여러 통과들을 사용하는 것이 아니라 시간 상으로 역방향으로 데이터를 처리하는 것의 이점은 임의의 도출된 파라미터들의 불확실성이 측정들이 없는 경우 시간이 지남에 따라 증가한다는 것이다. 따라서, 파라미터들은 TA와 TB 사이와 같은 영역들에서, 양방향으로 그 영역의 어느 한 쪽에서 상기 데이터를 처리함으로써 및 가중 평균 또는 유사한 계산을 통한 이 두 통과들에 의해 제공된 상기 추정치들을 결합함으로써 전체적으로 더 잘 추정될 수 있다.
신뢰도 임계치들은 다른 센서들로부터 도출된 정보로부터, 또는 상기 디바이스 센서들의 알려진 통계적 노이즈 특성들에 따라 초기에 설정될 수 있다. 예를 들어, 상기 가속도계(12)는 동적 모션들 동안 상기 GNSS 주파수 측정들에서 예상된 변동(expected variation)에 대한 임계치들을 설정하기 위해 가속도 정보를 제공할 수 있다. 상기 데이터를 통한 후속 통과에서, 상기 가속도계의 바이어스는 보다 정확하게 알려질 수 있다(예를 들어, 바이어스 정보를 나타내는 초기 분석 동안에 영 속도 업데이트 분석(zero velocity update analysis)이 수행될 수 있음). 이는 상기 가속도계 데이터가 더 정확하고 신뢰할 수 있다는 것을 의미하고 따라서 예상된 주파수 변동에 대한 상기 신뢰도 임계치가 더 엄격할 수 있다(즉, 더 작은 변동). 결과적으로, 상기 데이터의 상기 제1 통과 동안 허용된 주파수 측정의 임의의 에러는 상기 더 엄격한(더 컨피던트(more confident)) 신뢰도 임계치들로 인해 상기 제2 통과에서 이제 무시될 수 있다.
도 3을 다시 참조하면, 상술한 바와 같이, 상기 데이터의 상기 제1 통과에서, 상기 초기 신뢰도 임계치들은 시간 인스턴스 TA와 TB사이에서 얻어진 상기 GNSS 데이터가 상기 모션 모델로부터의 상기 디바이스의 상기 “허용된” 모션과 일치하는 것으로 보이는 것일 수 있다. 상기 제1 통과 처리의 과정 동안, IMU(10)의 더 나은 추정들이 결정되고, 이는 더 정확한 IMU 데이터, 및 결과적으로, 다른 센서 데이터에 대한 더 엄격한 신뢰도 임계치들을 제공하기 위해 상기 데이터의 후속 통과들에 대해 사용될 수 있다. 예를 들어, 후속 통과에서, 시간 인스턴스들 TA 및 TB 사이 상기 GNSS 위치 데이터는 상기 디바이스의 더 엄격하게 제한된 허용된 모션과 일치하지 않는 것으로 밝혀질 수 있고, 그 결과, 상기 최종 궤적 솔루션에서 걸러질(또는 낮은 신뢰도를 할당 받을) 수 있다.
신뢰도 임계치들 및 관련된 시간 상으로 순방향 및 역방향 분석들은 설명한 바와 같이 센서 데이터에 적용될 수 있고, 또한 캘리브레이션 파라미터들 및 센서 바이어스들과 같은 도출된 또는 잠재 변수들, 및 플랫폼 상태들, 포즈들을 포함하는 도출된 데이터 및 관심 메트릭들에도 또한 적용될 수 있다.
도 2에서, 상기 제2 시간 기간(210)는 시간 인스턴스 T0와 T3사이 연장되는 것으로, 및 상기 제1 시간 기간(220)는 T1과 T2사이에서 연장되는 것으로 도시되어 있다. 유리하게는, 제1 및 제2 시간 기간들의 지속시간은 상기 디바이스 센서들로부터 획득한 데이터의 신뢰성 및 정확성의 분석 모듈(42)에 의해 최적의 평가를 하도록 하기 위해 선택된다. 더 나아가, 일부 실시예들에서, 상기 제1 및/또는 제2 시간 기간들의 지속시간은 상기 분석 모듈에 의한 상기 평가에 응답하여 동적으로 변경될 수 있다. 예를 들어, 상기 제2 시간 기간는 시간 기간들 TA와 TB사이 잘못된 데이터로 인해 연장될 수 있어서, 상기 연장된 시간 기간는 상기 데이터의 더 신뢰할 수 있는 해석을 허용한다(예를 들어 자동적으로 모션 모델을 선택하기 위해).
도 4는 시간 인스턴스 T1과 T2 사이에서 결정된 스마트 폰(100)의 위치의 진화를 개략적으로 도시한다. 빗금 친 상자들(100a, 100b, 100c, 100d, 100e, 100f)은 예를 들어 고품질 GNSS 데이터의 이용 가능성으로 인해 상기 디바이스(100)의 절대 위치가 높은 신뢰도(“컨피던트 섹션들(confident sections)”로 결정되는 시간 기간들을 나타낸다. 상기 컨피던트 섹션들의 방향들은 또한 그 시간 기간에서 상기 디바이스(예컨대, 위치 콘텍스트)의 방향을 가리킨다. 상기 컨피던트 섹션들 사이 라인(line)(400)은 NSU(40)에 의해 결정된 상기 디바이스(즉, 그것의 위치의 진화)의 잠재적 궤적을 도시한다. 시간 인스턴스들 TA 및 TB는 도 3과 관련하여 위에서 설명된 바와 같이, 상기 디바이스의 절대 위치를 결정하기에 GNSS 데이터가 너무 신뢰할 수 없는 것으로 간주되는 시간 기간로서 예시적으로 도시된다. 다른 메트릭들은, 예를 들어 사용중인 위성들의 수가 미리 결정된 수보다 적고, 상기 GNSS 데이터의 신호 세기가 미리 결정된 임계치보다 아래에 있는 등 GNSS 데이터의 거부(rejection)(또는 신뢰도의 감소)를 유발(invoke)하기 위해 사용될 수 있다.
일반적으로, 상기 GNSS 데이터가 분석될 때, 신뢰할 수 없는 것으로 간주되는 이벤트가 발견되면(도 3의 영역 B), 상기 GNSS 센서로부터의 데이터 내 에러는 갑자기가 아니라 점진적으로 증가할 수 있기 때문에, 상기 GNSS 데이터는 “플래그 된” 이벤트 전 후 특정 시간 기간에 대해 신뢰할 수 없는 것으로 간주될 수 있다. 예를 들어, 다시 도 3을 참조하면, 상기 GNSS 트레이스(trace)는 시간 기간 TB의 시작보다는 시간 순간 TA에서 신뢰할 수 없는 것으로 플래그 될 것이다.
상기 컨피던트 섹션들 사이 상기 디바이스의 궤적을 결정하기 위해, 상기 컨피던트 섹션들에서 얻어진 데이터는 분석되고 가속도계(12), 자이로스코프(14) 및 자력계(16) 센서들의 바이어스를 결정하고, 상기 모션 모델의 스텝 길이 파라미터들을 계산하고, 및 헤딩 오프셋으로 모션의 방향을 결정하여 상기 모션 모델과 함께 IMU 센서들로부터 얻어진 데이터는 상기 컨피던트 빗금 친 영역들(confident hatched regions) 사이에서 상기 디바이스의 궤적을 정확하고 신뢰할 수 있게 결정하는데 사용될 수 있다.
대안적으로 또는 추가적으로, 상기 컨피던트 섹션들 사이 시간 기간들 동안 가속도계(12), 자이로스코프(14) 및 자력계(16)로부터 얻어진 데이터는 복수의 가능한 궤적들을 결정하기 위해 하나 이상의 파라미터들의 다중 추정치들과 조합하여 사용될 수 있고, 상기 컨피던트 섹션들과 가장 잘 맞는 궤적이 사용될 수 있다. 예를 들어, 헤딩 오프셋 추정치들에 대한 복수의 모션의 방향은 높은 신뢰도 시간 기간들(high-confidence time periods)에서 궤적의 끝점들(end-points)과 가장 잘 맞는 것으로 선택된 최적의 궤적(optimal trajectory)과 함께 낮은 신뢰도 시간 기간들(low-confidence time periods) 동안 시험 궤적들(trial trajectories)을 생성하기 위해 사용될 수 있다. 상기 컨피던트 섹션들(그것의 구성에 기여하는 데이터 및 시스템 파라미터들뿐만 아니라) 사이 상기 궤적은 또한 복수의 궤적들 중 어느 것이 가장 가능성이 높은 지 결정하는 것을 돕기 위해 맵(map)으로부터 얻어진 사전 정보(prior information)를 사용하여 제한될 수 있다. 예를 들어, 가능한 궤도 중 하나가 다리가 없는 강을 건너는 것과 관련이 있다면, 그 특정 궤도는 배제 될 수 있다; 또는 맵 데이터가 상기 항법 솔루션이 곡선 궤적을 보여주는 동안 보행자가 직선 경로를 따라 이동할 가능성이 가장 높다는 것을 나타내면, 이는 요우잉축 자이로스코프 바이어스(yaw-axis gyroscope bias)를 식별하고 정정하는데 사용될 수 있다.
추가 실시예들에서, 상기 컨피던트 섹션들로부터 얻은 데이터에 의해 제한되는 전체 궤적의 최소 제곱 피팅(least-squares fit)(또는 상기 궤적의 섹션들의 구분적 피팅(piecewise fitting))이 수행될 수 있다.
도 2에 개략적으로 도시된 바와 같이, 상기 제2 시간 기간는 제1 시간 기간(및 상기 제2 시간 순간(T2))와 관련하여 미래로 연장될 수 있다. 다시 말해서, 두 시간 인스턴스들(T1 및 T2) 사이 관심 메트릭의 진화를 결정할 때, T2와 관련된 미래로부터의 데이터는 상기 솔루션을 제한하기 위해 사용된다. 제한들이 단순히 외삽 되는 것이 아니라 제2 시간 인스턴스(T2)와 관련하여 미래 시간 기간들에 대해 보간될 수 있기 때문에, 이는 관심 메트릭의 진화의 보다 정확한 결정을 제공한다. 다시 말해서, 제2 시간 인스턴스(T2)와 관련하여 제2 시간 기간의 연장은 상기 관심 메트릭의 진화가 결정될 상기 데이터의 “전체적인 그림(overall picture)”또는 더 정확한 콘텍스트를 허용한다.
그러나, 예를 들어 항법의 경우에, 그러한 디바이스의 사용자에 의해 실시간 정보가 요구되는 몇몇 상황들이 있다. 이러한 경우들에서, 상기 제2 시간 인스턴스(T2)는 도 5에 개략적으로 도시된 바와 같이 현재 시간에 있거나 현재 시간 뒤 작은 간격 내에 있을 수 있다. 두 시간 기간들 모두 시간 T2에서 끝나고 T2에 관해서만 과거로 연장되는 제1 시간 기간(220) 및 제2 시간 기간(210)의 상대적 위치들이 또한 도시되어 있다.
따라서, 현재 시간에 대한 솔루션은 과거 데이터에 의해서만 제한되는 채로 상기 디바이스의 궤적은 사용자에게 거의 실시간으로 제공될 수 있다. 그러나, 유리하게는, 이전 시간들에 대한 위치 솔루션들은 새로운 데이터가 얻어짐에 따라 계속적으로 업데이트될 수 있다. 예를 들어, 시간 인스턴스(T2)에서, 제1 및 제2 시간 기간들 모두 T1과 관련하여 미래로 연장되고, 따라서 T2에서, 시간 인스턴스 T1자체에서 작은 간격 뒤 내에 결정된 솔루션과 비교하여 T1에서의 상기 디바이스의 더 정확하고 신뢰할 수 있는 위치가 결정될 수 있다. 이러한 방식으로, 본 발명은 더 많은 데이터가 얻어질수록 시간 경과에 따른 상기 진화의 개선된 결정뿐만 아니라 관심 메트릭의 진화의 근 실시간 결정(near-real-time determination)을 제공한다.
도 6은 본 발명의 일 실시예의 주요 단계를 개설하는(outlining) 흐름도(600)이다. 단계(601)에서, 상기 디바이스의 사용자는 전형적으로 상기 디바이스의 스크린을 통해 적절한 GUI와의 상호작용에 의해, 모션 모델을 미리 선택한다. 위에서 논의된 바와 같이, 모션 모델은 모션 콘텍스트, 위치 콘텍스트, 및 상기 모션을 설명하는 적어도 하나의 정량적 파라미터를 포함할 수 있다. 단계 (601)에서, 상기 사용자는 이러한 구성요소들 중 적어도 하나를 미리 선택할 수 있다. 예를 들어, 상기 사용자는 단순히 “달리기(running)”의 모션 콘텍스트를 갖는 모션 모델을 선택할 수 있다.
단계(602)에서, NSU(40)는 상기 제1 시간 기간로부터 데이터를 얻고, 단계(603)에서 상기 제2 시간 기간로부터 데이터를 얻는다. 이들은 단계(600)에서 별도의 단계들로 출발하였지만, NSU(40)는 상기 제1 및 제2 시간 기간들로부터 실질적으로 동시에 데이터를 획득할 수 있음이 이해될 것이다. 다른 실시예들에서, 상기 제2 시간 기간들로부터의 데이터는 상기 제1 시간 기간들로부터의 데이터보다 먼저 얻어질 수 있다.
단계(604)에서, 상기 제1 및 제2 데이터는, 전술한 바와 같이 분석 모듈(42)에 의해 분석되고, 단계(605)에서, NSU(40)는 제1 및 제2 시간 인스턴스 사이의 관심 메트릭의 진화를 결정한다. 방법(600)에 제시된 일련의 단계들에서, 상기 모션 모델은 데이터의 획득 전에 미리 선택된 것으로 도시되어 있다. 그러나, 상기 모션 모델은 데이터를 얻은 후에 사용자에 의해 선택될 수 있다는 것이 이해될 것이다.
도 7은 상기 모션 모델이 상기 제1 및 제2 데이터의 분석으로부터 자동으로 선택되는 본 발명의 추가 실시예의 주요 단계들을 개설하는 흐름도(700)이다. 단계(701)에서, NSU(40)는 상기 제1시간 기간로부터 데이터를 얻고, 단계(702)에서 상기 제2 시간 기간로부터 데이터를 얻는다. 도 6과 관련하여 전술한 바와 동일한 방식으로, 단계들(701 및 702)은 일부 경우에 실질적으로 동시에 또는 역순으로 발생할 수 있다. 단계(703)에서, 상기 제1 및 제2 데이터는 분석 모듈(42)에 의해 분석된다.
단계(704)에서, 단계(703)에서 수행된 분석으로부터, 상기 디바이스의 상기 모션 및/또는 위치 콘텍스트가 결정된다.
결정 단계(705)에서, 단계(704)에서 결정된 위치 및/또는 모션 콘텍스트, 디바이스, 및 현재 사용자에 대응하는 모션 모델 파라미터가 어드레서블 스토리지(예를 들어 로컬 스토리지(5))에 저장되는지 아닌지 여부가 결정된다. 그러한 모션 모델이 존재하면, 이것은 리콜 되고(단계(708)), 단계(709)에서 NSU(40)는 로컬 스토리지로부터 리콜 된 적어도 하나의 파라미터를 포함하는 상기 모션 모델, 제2 데이터, 및 제1 데이터에 의해 제한되는 상기 진화와 함께 상기 제1 및 제2 시간 인스턴스들 사이 상기 관심 메트릭의 진화를 결정한다. 상기 정량적 모션 모델 파라미터는 예를 들어 사용자의 스텝 길이의 추정치를 포함할 수 있다. 위에서 논의된 바와 같이, 유리하게는 그러한 파라미터는 상기 사용자를 위한 상기 디바이스에 의해 얻어진 데이터의 이전 분석들 동안 개선되었을 수 있다.
단계(705)에서, 대응하는 모션 모델 파라미터가 존재하지 않는 것으로 결정되면, 상기 방법은 상기 결정된 모션 및/또는 위치 콘텍스트가 상기 디바이스의 상기 모션과 관련된 적어도 하나의 파라미터를 결정하기 위해 사용되는 선택적 단계(706)으로 이동한다. 선택적으로, 이는 상기 디바이스의 식별 및 상기 결정된 모션 및/또는 위치 콘텍스트에 의해 인덱스된, 어드레서블 스토리지(단계(707))에 저장될 수 있다. 이어서, 단계(709)에서, NSU(40)는 상기 제1 데이터 , 제2 데이터 및 모션 모델에 의해 제한되는 상기 진화와 함께, 시간 인스턴스들 T1 및 T2 사이의 상기 관심 메트릭의 진화를 결정한다.
도 8은 적어도 하나의 센서로부터의 데이터가 예를 들어 전술한 스마트 폰(100)에 대해 항법 솔루션을 결정하는데 사용될 수 있는 방법의 개략적인 개요이다. 박스(801)는 현재 시간 또는 그 뒤 작은 간격 내에 있는 시간 인스턴스 T1에서, NSU(40)에 의해 생성된 항법 솔루션을 개략적으로 나타낸다. 상기 NSU의 항법 솔루션은 상기 IMU솔루션으로부터의 데이터에 기초하고, IMU의 센서들은 초당 ~100- 1000샘플들의 범위 내 샘플링 레이트(sampling rates)를 가질 수 있고, 따라서 박스(801)의 시간 기간는 ~1- 10ms정도일 수 있다. 기존 솔루션들에서, IMU로부터 얻어진 이 “순간(instantaneous)”데이터는 단순히 해당 순간에 상기 항법 솔루션을 출력하기 위해 사용될 것이고, 따라서 큰 에러 드리프트(error drift)를 겪을 수 있다.
도 8에 개략적으로 도시된 바와 같이, 본 발명은 해당 시간 인스턴스에서 상기 항법 솔루션을 제한하기 위해 NSU/IMU 시간 인스턴스(T1)와 관련하여 과거 및 미래의 시간 기간들로부터 얻어진 데이터를 이용할 수 있다. 박스들(801 내지 804) 중 임의의 박스로부터의 정보는 이용 가능한 모든 데이터를 최적으로 필터링 및 조합하기 위해 다양한 방법을 사용하여 박스 내 및 박스 간(intra- and inter-box) 분석될 수 있고, 결과적으로 향상된 항법 솔루션을 낳는다. 이 예에서, “”라고 표시된 박스(802)는 IMU에 의해 얻어진 데이터를 나타내고, 박스(802)에 의해 나타난 시간 간격 동안 시간 인스턴스들에서 고정되어 있었는지 아닌지 여부를 결정하기 위해 분석되었다. 검출된 영속도(zero velocity)의 기간들은, 예를 들어, 상기 NSU에 의해 추적되는 속도 측정을 리셋하거나 시간 인스턴스 T1에서 상기 NSU 솔루션을 제한하기 위해 사용될 수 있는 IMU의 관성 센서들(inertial sensors) 내 바이어스를 결정하기 위해 사용될 수 있다.
박스(803)는 상기 NSU 솔루션을 더 제한하기 위해 위치 및 속도 데이터를 제공하는데 사용될 수 있는 GNSS 센서로부터 얻어진 데이터를 나타낼 수 있다. 또한 박스(802)로부터의 정보는 확신 있게 결정된 영 속도 조건(zero velocity condition)을 위반하는 박스(803)내 GNSS 데이터를 걸러내는데 사용될 수 있다. 자세 데이터(attitude data)는 가속도계 및/또는 자이로스코프 및/또는 자력계 센서로부터 얻어질 수 있다.
박스(804)에 개략적으로 도시된 모션 모델은 미리 선택되거나 자동으로 결정되었을 수 있다(예를 들어, 미 가공(raw) IMU 데이터의 분석을 통해, 또는 위치, 속도 및 자세 데이터로부터). 상기 모션 모델은 사용자 모션의 일부 측면을 설명하는 하나 이상의 파라메트릭 모델들(parametric models)을 포함할 수 있다. 박스들(801부터 804)중 하나 이상에 포함된 센서 데이터의 분석은 그러한 파라메트릭 모델들에 대한 입력으로서 후속적으로 사용되는 값들을 추출하기 위해 수행될 수 있다. 예를 들어, 스테핑 케이던스(stepping cadence)는 가속도계 데이터로부터 추출될 수 있고, 후속적으로 보행자 스텝 길이를 모델링하는 함수에 입력될 수 있다. 전술한 바와 같이, 박스(804)에서 상기 모션 모델은 입력 센서 데이터의 필터링을 돕고 상기 항법 솔루션을 제한하기위해 사용될 수 있다.
도 8은 박스들(802, 803 및 804)이 상이한 크기(즉, 시간 기간들)를 갖는 것으로 도시하고 있지만, 이는 반드시 그럴 필요는 없고, 도시의 목적만을 위한 것이다. 그러나, 유리하게는, 시간 인스턴스(T1)에서 상기 NSU 솔루션을 제한하기 위해 얻어지고 사용되는 상기 데이터는 더 긴 시간 기간들에 걸쳐 얻어졌고, 시간 인스턴스(T1)와 관련하여, 과거와 미래 모두로 연장되었다. 상기 관심 메트릭(여기서는 NSU로부터 결정된 포지셔닝 데이터(positioning data))의 진화는 복수의 그러한 시간 인스턴스들에서 얻어진 상기 포지셔닝 솔루션을 결합함으로써 제1 및 제2 시간 인스턴스들 사이에서 결정될 수 있다.
이해될 바와 같이, 도 8의 다이어그램은 예시적인 목적만을 위한 것이고, 상기 박스들은 상이한 센서 데이터 스트림들(sensor data streams) 및 분석들을 나타낼 수 있다.
상세한 설명에 사용된 주요 예는 측정 센서들이 모두 공통 플랫폼(즉, 스마트 폰 자체)에 위치하는 스마트 폰의 예이다. 그러나, 다른 실시예들에서, 두개(또는 그 이상)의 플랫폼들에 위치된 센서들로부터의 데이터는 관심 메트릭의 진화를 결정하기 위해 사용될 수 있다. 예를 들어, 일부 실시예들에서, 제1 플랫폼은 사용자에 의해 운반되는 스마트 폰일 수 있고 제2 플랫폼은 상기 사용자에 의해 착용되는 스마트 워치일 수 있다. 다시 말해, 두 플랫폼들은 모두 여기서 상기 사용자에 관한 독립적인 측정을 제공하는 자유롭게 움직이는 센서 세트들로 생각될 수 있다. 두 플랫폼들에 대한 관심 메트릭의 진화를 결정함으로써(예컨대, 스마트 폰과 스마트 워치 모두에 대한 위치 데이터), 그 관심 메트릭의 진화는 상기 사용자에 대해 신뢰할 수 있게 추론될 수 있다(즉, 상기 사용자의 궤적). 더 나아가, 상기 센서 데이터의 분석에서, 상기 상이한 플랫폼에서 얻어진 데이터 간 비교들이 수행될 수 있다. 예를 들어, 스마트 워치의 관성 센서로부터 얻어진 데이터는 스마트 폰의 GNSS 센서로부터 얻어진 데이터와 상호 참조될(cross-referenced) 수 있다.
다른 예에서, 차량은 차량의 가속도와 회전 레이트(rate-of-turning)를 측정하는 차량의 섀시(chassis)(제1 플랫폼)에 장착된 센서들을 가질 수 있다. 운전자는 그의 주머니에 가속도, 회전 레이트 등을 측정하는 센서들뿐만 아니라 내장형 GNSS 센서를 갖는 스마트 폰(제2 플랫폼)을 운반한다. 이러한 센서들로부터 얻어진 데이터는 최저 불확실성을 갖는 차량 및/또는 운전자의 주머니의 궤적을 결정하기 위해 위에 개설된(outlined) 상기 방법들을 함께 사용하여 분석된다.

Claims (55)

  1. 시간에 따른 관심 메트릭(metric of interest)의 진화(evolution)를 결정하기 위해, 위치 또는 이동(movement)이 결정될 수 있는 측정들을 하도록 구성된 적어도 하나의 센서로부터의 데이터를 결합하는 방법에 있어서, 복수의 시간 인스턴스들의 각각에 대해,
    제1 시간 기간에서, 제1 플랫폼에 장착된 제1 센서로부터 제1 데이터를 얻는 것;
    제2 시간 기간에서, 상기 제1 플랫폼 또는 제2 플랫폼에 장착된 상기 제1 센서 및/또는 제2 센서로부터 제2 데이터를 얻는 것; 및
    상기 관심 메트릭을 결정하는 것
    을 포함하고,
    상기 관심 메트릭을 결정하는 것은,
    상기 제1 데이터 및/또는 상기 제2 데이터의 신뢰성 및/또는 정확성을 평가하고 정정된 제1 데이터 및/또는 정정된 제2 데이터를 얻기 위하여, 각각의 제1 및/또는 제2 시간 기간의 적어도 일부 동안 상기 제1 데이터 및/또는 상기 제2 데이터를 분석하는 것
    을 포함하고,
    상기 분석하는 것은,
    상기 데이터를 서로 및/또는 상기 제1 및/또는 제2 플랫폼의 모션 모델과 비교하는 것
    을 포함하고,
    상기 관심 메트릭은,
    상기 정정된 제1 데이터 및 상기 정정된 제2 데이터 중 적어도 하나에 의하여 제한(constrained)되고,
    상기 제1 시간 기간 및/또는 상기 제2 시간 기간의 지속시간은,
    관련된 센서 데이터의 평가된 신뢰성 및/또는 정확성에 응답하여, 동적으로 조정될 수 있는,
    방법.
  2. 제1항에 있어서,
    상기 제1 데이터 및/또는 상기 제2 데이터를 분석하는 것은,
    대응하는 시간 기간에 걸쳐 상기 데이터에 대한 자기 일관성 체크(self-consistency checks)를 수행하는 것
    을 포함하는, 방법.
  3. 제1항에 있어서,
    상기 제1 데이터 및/또는 상기 제2 데이터의 최적의 분석을 허용하기 위하여, 서로에 대한 상기 제1 시간 기간과 상기 제2 시간 기간의 오버랩(overlap)의 크기(amount) 및/또는 지속시간(duraiton)이 선택되는,
    방법.
  4. 제1항에 있어서,
    상기 각 인스턴스 및 다른 시간 기간(들)에 관한 시간 기간의 오버랩의 크기는,
    상기 관련된 센서 데이터의 정확성 및/또는 상기 신뢰성의 변화들에 응답하여 동적으로 조정되는,
    방법.
  5. 제1항에 있어서,
    상기 제1 데이터 및 상기 제2 데이터 중 적어도 하나는,
    시간상으로 역방향으로(backwards) 분석되는,
    방법.
  6. 제1항에 있어서,
    상기 제1 데이터 및/또는 상기 제2 데이터는,
    시간 상으로 순방향으로 및/또는 역방향으로 반복적(iteratively)으로 분석되는,
    방법.
  7. 제6항에 있어서,
    상기 제1 및/또는 제2 데이터의 제1 분석은, 적어도 하나의 신뢰 임계치(confidence threshold)에 기초하고,
    상기 적어도 하나의 신뢰 임계치는, 상기 제1 분석 이후에 수정되고,
    상기 제1 및/또는 제2 데이터의 다음 분석은, 상기 수정된 신뢰 임계치에 기초하는,
    방법.
  8. 제1항에 있어서,
    상기 모션 모델은,
    상기 제1 플랫폼 및/또는 제2 플랫폼의 모션 콘텍스트(motion context)를 포함하는 모션 콘텍스트 구성요소(motion context component), 및
    상기 제1 플랫폼 및/또는 제2 플랫폼의 위치 콘텍스트(position context)를 포함하는 위치 콘텍스트 구성요소(position context component)
    중 적어도 하나를 포함하는, 방법.
  9. 제8항에 있어서,
    주어진 모션 모델의 적어도 하나의 파라미터 및/또는 함수는,
    상기 모션 콘텍스트, 상기 위치 콘텍스트 또는 상기 제1 및/또는 제2 플랫폼의 아이덴티티(identity) 중 적어도 하나에 의해 인덱스(index)되는 어드레서블 스토리지(addressable storage)에 저장되는,
    방법.
  10. 제1항에 있어서,
    상기 모션 모델은,
    상기 모션의 측면을 정량적으로 기술하는 적어도 하나의 파라미터, 및/또는
    상기 모션의 측면을 정량적으로 기술하는 파라미터를 결정하기 위해 사용될 수 있는 적어도 하나의 함수
    를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 적어도 하나의 파라미터는,
    보행자 스텝 길이(pedestrian step length), 보행자 스피드(pedestrian speed), 보행자 높이(pedestrian height), 보행자 다리 길이(pedestrian leg length), 스테어 라이즈(stair rise), 스테어 런(stair run) 또는 모션의 방향 오프셋(direction-of-motion offset)으로의 컴퍼스 헤딩(compass-heading) 중 하나인,
    방법.
  12. 제10항에 있어서,
    상기 적어도 하나의 함수는, 보행자 스텝 길이 또는 보행자 스피드를 결정하는 함수인,
    방법.
  13. 제1항에 있어서,
    상기 모션 모델의 적어도 하나의 구성요소는, 사용자에 의해 수동으로 정의되는,
    방법.
  14. 제1항에 있어서,
    상기 모션 모델의 적어도 하나의 구성요소는, 상기 제1 및/또는 제2 데이터의 분석으로부터 자동적으로 결정되는,
    방법.
  15. 제1항에 있어서,
    상기 모션 모델의 적어도 하나의 구성요소는,
    관심 메트릭의 진화의 적어도 하나의 이전 결정 동안 상기 제1 및/또는 제2 센서로부터 얻어지는 데이터의 분석으로부터 자동적으로 결정되는,
    방법.
  16. 제1항에 있어서,
    상기 제1 및/또는 제2 플랫폼의 모션 모델은, 미리 선택된(pre-selected) 모션 모델인,
    방법.
  17. 제1항에 있어서,
    상기 모션 모델은, 자동으로 선택된 모션 모델인,
    방법.
  18. 제17항에 있어서,
    상기 모션 모델은,
    상기 제1 플랫폼 및/또는 제2 플랫폼의 모션 콘텍스트(motion context)를 포함하는 모션 콘텍스트 구성요소(motion context component), 및
    상기 제1 플랫폼 및/또는 제2 플랫폼의 위치 콘텍스트(position context)를 포함하는 위치 콘텍스트 구성요소(position context component)
    중 적어도 하나를 포함하고,
    상기 모션 모델은,
    상기 제1 및/또는 제2 시간 기간 동안 상기 제1 및/또는 제2 센서에 의하여 얻어진 데이터의 분석을 통하여 상기 모션 콘텍스트 및 상기 위치 콘텍스트 중 적어도 하나를 결정하는 것에 의하여, 자동적으로 선택되는,
    방법.
  19. 제18항에 있어서,
    상기 제1 및/또는 제2 플랫폼의 아이덴티티, 모션 콘텍스트 및 위치 콘텍스트 중 적어도 하나를 사용하여 인덱스된 적어도 하나의 모션 모델 파라미터 및/또는 함수를 어드레서블 스토리지로부터 리콜(recall)하기 위하여, 상기 제1 및/또는 제2 플랫폼의 아이덴티티, 상기 결정된 모션 콘텍스트, 상기 결정된 위치 콘텍스트 중 적어도 하나를 사용하는 것
    을 더 포함하는, 방법.
  20. 제17항에 있어서,
    상기 모션 모델에 대하여 적어도 하나의 모션 모델 파라미터 및/또는 함수를 결정하는 것, 및
    상기 적어도 하나의 모션 모델 파라미터 및/또는 함수를, 상기 제1 및/또는 제2 플랫폼의 아이덴티티, 모션 콘텍스트 및 위치 콘텍스트 중 적어도 하나를 사용하여 인덱스된 어드레서블 스토리지에 저장하는 것
    을 더 포함하는, 방법.
  21. 제1항에 있어서,
    상기 관심 메트릭의 상기 진화를 제한(constraining)하는 것은,
    상기 제1 센서 및/또는 제2 센서의 측정 바이어스(measurement bias)를 결정하는 것, 및
    상기 바이어스에 대하여 정정하는 것
    을 포함하는, 방법.
  22. 제1항에 있어서,
    상기 관심 메트릭을 제한하는 것은,
    상기 모션 모델에 대응하지 않는 상기 제1 및/또는 제2 데이터의 적어도 하나의 데이터 포인트를 결정하는 것, 및
    상기 적어도 하나의 데이터 포인트에 대하여 정정하는 것
    을 포함하는, 방법.
  23. 제1항에 있어서,
    상기 제2 데이터는 상기 제1 플랫폼에 장착된 제2 센서로부터 얻어지는,
    방법.
  24. 제1항에 있어서,
    상기 제2 데이터는 상기 제1 플랫폼과 상이한 제2 플랫폼에 장착된 제2 센서로부터 얻어지는,
    방법.
  25. 제24항에 있어서,
    상기 제1 및 제2 플랫폼들은 적어도 하나의 모션의 구성요소를 공통으로 갖는,
    방법.
  26. 제24항에 있어서,
    상기 제1 및 제2 플랫폼들은 동일한 관심 바디(body of interest)에 장착되는,
    방법.
  27. 제1항에 있어서,
    상기 제1 시간 기간 및 상기 제2 시간 기간은, 적어도 부분적으로 오버랩하는,
    방법.
  28. 제1항에 있어서,
    상기 제1 시간 기간 및 상기 제2 시간 기간은, 오버랩하지 않는,
    방법.
  29. 제1항에 있어서,
    상기 제1 시간 기간 및 제2 시간 기간 중 적어도 하나는, 각각의 시간 인스턴스에 대하여 미래로 연장되는,
    방법.
  30. 제1항에 있어서,
    상기 제1 시간 기간 및 제2 시간 기간은,
    제2 각각의 시간 인스턴스에 대하여 미래로 실질적으로 연장되지 않는,
    방법.
  31. 제1항에 있어서,
    상기 관심 메트릭의 상기 진화는 근-실시간(near-real-time)으로 계산되는,
    방법.
  32. 제1항에 있어서,
    상기 관심 메트릭은 배치 프로세스(batch process)로 계산되는,
    방법.
  33. 제1항에 있어서,
    상기 제2 시간 기간는 상기 제1 시간 기간보다 긴,
    방법.
  34. 제1항에 있어서,
    상기 제2 데이터는 상기 제1 센서와 다른 제2 센서로부터 얻어지고,
    상기 제1 센서는 상기 제2 센서보다 빠른 데이터 샘플링 레이트(data sampling rate)를 갖는,
    방법.
  35. 제1항에 있어서,
    상기 제1 센서는 관성 측정 유닛(inertial measurement unit)인,
    방법.
  36. 제1항에 있어서,
    상기 제1 센서는 관성 항법 시스템(inertial navigation system)의 부분인,
    방법.
  37. 제1항에 있어서,
    상기 제1 센서는,
    가속도계, 자이로스코프, 자력계(magnetometer), 기압계(barometer), GNSS 유닛, 라디오 주파수 수신기(radio frequency receiver), 만보계(pedometer), 카메라, 광 센서(light sensor), 압력 센서(pressure sensor), 스트레인 센서(strain sensor), 근접 센서(proximity sensor), RADAR 및 LIDAR 중 적어도 하나를 포함하는,
    방법.
  38. 제1항에 있어서,
    상기 제2 센서는,
    가속도계, 자이로스코프, 자력계(magnetometer), 기압계(barometer), GNSS 유닛, 라디오 주파수 수신기(radio frequency receiver), 만보계(pedometer), 카메라, 광 센서(light sensor), 압력 센서(pressure sensor), 스트레인 센서(strain sensor), 근접 센서(proximity sensor), RADAR 및 LIDAR 중 적어도 하나를 포함하는,
    방법.
  39. 제1항에 있어서,
    제3 시간 기간에서, 상기 제1 센서, 제2 센서 및 제3 센서 중 적어도 하나로부터 제3 데이터를 얻는 것
    을 더 포함하고,
    상기 관심 메트릭의 상기 진화의 상기 결정은,
    상기 제3 데이터에 의해 더 제한되는,
    방법.
  40. 제1항에 있어서,
    상기 관심 메트릭은,
    위치(position), 범위(range), 스피드(speed), 속도(velocity), 궤적(trajectory), 고도(altitude), 컴퍼스 헤딩(compass heading), 스테핑 케이던스(stepping cadence), 스텝 길이(step length), 이동 거리(distance travelled), 모션 콘텍스트(motion context), 위치 콘텍스트(position context), 출력 파워(output power), 칼로리 카운트(calorie count), 센서 바이어스(sensor bias), 센서 스케일 팩터(sensor scale factor), 및 센서 정렬 에러(sensor alignment error) 중 적어도 하나를 포함하는,
    방법.
  41. 제1항에 있어서,
    상기 제1 플랫폼은 관심 바디에 장착되는,
    방법.
  42. 제1항에 있어서,
    상기 관심 메트릭은,
    상기 모션 모델에 의하여 더 제한되는,
    방법.
  43. 컴퓨터 판독가능 매체에 있어서,
    컴퓨터에 의하여 실행되는 경우, 상기 컴퓨터로 하여금 제1항 내지 제42항 중 어느 한 항의 방법을 수행하도록 하는 실행가능한 명령어들을 저장하는,
    컴퓨터 판독가능 매체.
  44. 시스템에 있어서,
    관심 메트릭의 진화를 결정하기 위하여, 위치 또는 이동이 결정될 수 있는 측정들을 하도록 구성된 적어도 하나의 센서, 및
    제1항 내지 제42항 중 어느 한 항의 방법을 수행하도록 구성된 프로세서
    를 포함하는 시스템.
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
KR1020207011865A 2017-10-26 2018-10-26 센서 데이터를 결합하기 위한 방법 및 시스템 KR102666648B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1717632.2 2017-10-26
GB1717632.2A GB2567845B (en) 2017-10-26 2017-10-26 A method and system for combining sensor data
US15/894,841 2018-02-12
US15/894,841 US11035673B2 (en) 2017-10-26 2018-02-12 Method and system for combining sensor data
PCT/GB2018/053105 WO2019081944A1 (en) 2017-10-26 2018-10-26 METHOD AND SYSTEM FOR COMBINING SENSOR DATA

Publications (2)

Publication Number Publication Date
KR20200078507A KR20200078507A (ko) 2020-07-01
KR102666648B1 true KR102666648B1 (ko) 2024-05-17

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160252354A1 (en) * 2015-02-26 2016-09-01 Invensense, Inc. Method and system for multiple pass smoothing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160252354A1 (en) * 2015-02-26 2016-09-01 Invensense, Inc. Method and system for multiple pass smoothing

Similar Documents

Publication Publication Date Title
US11815355B2 (en) Method and system for combining sensor data
US20210254979A1 (en) Method of estimating a metric of interest related to the motion of a body
US9360323B2 (en) Systems and methods for estimating movements of a vehicle using a mobile device
US11079235B2 (en) Method for accelerometer-assisted navigation
JP6674791B2 (ja) 混雑度推定方法、人数推定方法、混雑度推定プログラム、人数推定プログラム、および人数推定システム
US9234767B2 (en) Running condition detection device, running condition detection method, and recording medium
US10240929B2 (en) Methods and systems for vertical trajectory determination and automatic jump detection
US8676498B2 (en) Camera and inertial measurement unit integration with navigation data feedback for feature tracking
US9752879B2 (en) System and method for estimating heading misalignment
US11441906B2 (en) Iterative estimation of non-holonomic constraints in an inertial navigation system
US11035915B2 (en) Method and system for magnetic fingerprinting
EP3045919B1 (en) System and method for estimating speed of a vehicle
KR102666648B1 (ko) 센서 데이터를 결합하기 위한 방법 및 시스템
JP7400922B2 (ja) 測位装置、測位方法及び測位プログラム
KR20200022814A (ko) 스마트폰을 이용한 실내 측위 방법, 이를 수행하기 위한 시스템 및 기록매체