KR101732835B1 - 관성 장치, 방법, 및 프로그램 - Google Patents

관성 장치, 방법, 및 프로그램 Download PDF

Info

Publication number
KR101732835B1
KR101732835B1 KR1020157020541A KR20157020541A KR101732835B1 KR 101732835 B1 KR101732835 B1 KR 101732835B1 KR 1020157020541 A KR1020157020541 A KR 1020157020541A KR 20157020541 A KR20157020541 A KR 20157020541A KR 101732835 B1 KR101732835 B1 KR 101732835B1
Authority
KR
South Korea
Prior art keywords
unit
velocity
inertial
data
waveform
Prior art date
Application number
KR1020157020541A
Other languages
English (en)
Other versions
KR20150099864A (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
Application filed by 가부시키가이샤 리코 filed Critical 가부시키가이샤 리코
Publication of KR20150099864A publication Critical patent/KR20150099864A/ko
Application granted granted Critical
Publication of KR101732835B1 publication Critical patent/KR101732835B1/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/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
    • 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/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • 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

Landscapes

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

Abstract

관성 장치를 보유하는 타겟의 모션을 표현하는 출력을 생성하도록 구성된 관성 센서부; 각각, 관성 센서부에 의해 생성될 상이한 출력들과 연관되는 팩터들을 저장하도록 구성된 저장부; 관성 센서부에 의해 생성된 출력에 대응하는 팩터들 중 하나를 사용함으로써 미리 결정된 기간에서 관성 장치의 속도의 변동을 표현하는 파형을 생성하도록 구성된 생성부; 생성부에 의해 생성되었던 하나 이상의 이전의 파형들과 파형을 조합하도록 구성된 조합부; 및 조합된 파형으로부터 획득된 속도를 사용하여 관성 장치가 현재 위치된 포지션을 추정하도록 구성된 추정부를 포함하는 관성 장치가 개시된다.

Description

관성 장치, 방법, 및 프로그램{INERTIAL DEVICE, METHOD, AND PROGRAM}
본 개시의 양태는 관성 장치, 방법 및 프로그램에 관련된다.
글로벌 측위 시스템(GPS)이 빌딩 또는 지하와 같은 포지션을 측정하는데 사용되지 않을 수도 있는 위치에서, 관성 항법 기술(PDR; Pedestrian Dead Reckoning)이 가속도 센서 및 자기장 센서를 포함한 관성 장치 상에서의 보행자의 포지션을 추정하기 위해 사용된다.
관성 네비게이션 기술을 채용한 종래의 방법은 보행 모션을 위한 추정 방법을 이용하여 각각의 걸음마다의 보폭 및 진행 방향을 추정하고, 현재 및 과거 보행 플로우들을 계산한다(특허문헌들 1 및 2).
관성 네비게이션 기술을 수행하는 종래의 관성 장치는 보행하는 사용자의 몸에 부착될 필요가 있거나, 또는 사용자가 관성 장치를 취한 이후 캘리브레이션을 요구하여, 관성 장치가 정확한 방식으로 보폭을 추정하게 한다(특허문헌들 3 내지 6).
하지만, 특허문헌들 1 및 2에 설명된 종래의 기술들은 보행하는 사용자의 각 걸음마다의 이동 거리 및 방향을 정정하여 위치를 추정한다. 따라서, 보행과 같은 사용자의 모션에 기초하여 위치를 추정하기 위한 분해능은 "단일 걸음"의 단위로 한정되고, 더 높은 분해능으로 추정하는 것은 어렵다.
특허문헌들 3 내지 6에 설명된 종래의 기술들에 있어서, 사용자는 관성 장치를 그 허리에 부착하고 그 자세를 유지해야 하거나; 또는 자세를 유지하는 대신 장치를 취한 이후 장치를 캘리브레이션해야 한다. 따라서, 종래의 관성 장치는 사용자에게 불편하다.
상기 설명된 바와 같이, 종래의 관성 네비게이션 기술을 채용한 관성 장치는 보행 모션에 있어서 사용자 위치를 추정하기 위한 낮은 분해능(즉, 낮은 정확도)을 가지며, 이는 사용자에게 불편하다.
본 발명의 실시예는 사용자 위치의 추정 정확도를 개선하고 사용자에 대한 불편을 감소시키는 관성 장치, 방법 및 프로그램을 제공하는 것을 목적으로 한다.
일 양태에 있어서, 본 개시는 관련 기술의 한계들 및 단점들에 의해 야기된 하나 이상의 문제들을 실질적으로 제거하는 관성 장치, 방법, 및 프로그램을 제공한다.
본 개시의 일 양태에 있어서, 관성 장치를 보유하는 타겟의 모션을 표현하는 출력을 생성하도록 구성된 관성 센서부; 각각, 관성 센서부에 의해 생성될 상이한 출력들과 연관되는 팩터들을 저장하도록 구성된 저장부; 관성 센서부에 의해 생성된 출력에 대응하는 팩터들 중 하나를 사용함으로써 미리 결정된 기간에서 관성 장치의 속도의 변동을 표현하는 파형을 생성하도록 구성된 생성부; 생성부에 의해 생성되었던 하나 이상의 이전의 파형들과 파형을 조합하도록 구성된 조합부; 및 조합된 파형으로부터 획득된 속도를 사용하여 관성 장치가 현재 위치된 포지션을 추정하도록 구성된 추정부를 포함하는 관성 장치가 제공된다.
본 발명의 다른 실시예에 따르면, 관성 센서를 사용하여 관성 장치를 보유하는 타겟의 모션을 표현하는 출력을 생성하는 단계; 출력에 대응하는 팩터들 중 하나를 사용함으로써 미리 결정된 기간에서 관성 장치의 속도의 변동을 표현하는 파형을 생성하는 단계로서, 상기 팩터들은 관성 센서에 의해 생성될 상이한 출력들과 연관되는, 상기 파형을 생성하는 단계; 파형을 생성하는 단계에서 생성되었던 하나 이상의 이전의 파형들과 파형을 조합하는 단계; 및 조합된 파형으로부터 획득된 속도를 사용하여 관성 장치가 현재 위치된 포지션을 추정하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 실시예에 따르면, 관성 장치로 하여금, 관성 센서를 사용하여 관성 장치를 보유하는 타겟의 모션을 표현하는 출력을 생성하는 단계; 출력에 대응하는 팩터들 중 하나를 사용함으로써 미리 결정된 기간에서 관성 장치의 속도의 변동을 표현하는 파형을 생성하는 단계로서, 상기 팩터들은 관성 센서에 의해 생성될 상이한 출력들과 연관되는, 상기 파형을 생성하는 단계; 파형을 생성하는 단계에서 생성되었던 하나 이상의 이전의 파형들과 파형을 조합하는 단계; 및 조합된 파형으로부터 획득된 속도를 사용하여 관성 장치가 현재 위치된 포지션을 추정하는 단계를 포함하는 방법을 수행하게 하기 위한 프로그램이 제공된다.
도 1은 본 발명의 실시예에 따른 관성 장치의 개관을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 관성 장치에 대한 구성의 개관을 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 관성 장치에 대한 기능적 구성의 블록 다이어그램이다.
도 4는 자세를 계산하기 위한 절차의 개관을 도시한 도면이다.
도 5는 시간 업데이트 절차에서 자세(롤, 피치, 및 요 각들)를 계산하기 위한 동작을 도시한 도면이다.
도 6은 시간 업데이트 절차에서 자세(롤, 피치, 및 요 각들)를 계산하기 위한 동작을 도시한 도면이다.
도 7은 시간 업데이트 절차에서 자세(롤, 피치, 및 요 각들)를 계산하기 위한 동작을 도시한 도면이다.
도 8은 제 1 측정 업데이트 절차에서 자세(롤 및 피치 각들)를 계산하기 위한 동작을 도시한 도면이다.
도 9는 제 2 측정 업데이트 절차에서 자세(요 각)를 계산하기 위한 동작을 도시한 도면이다.
도 10은 피크를 검출하기 위한 절차를 도시한 도면이다.
도 11은 이동 속도 특징들의 수평 성분을 계산하기 위한 절차를 도시한 도면이다.
도 12는 이동 속도 특징들의 수평 성분을 계산하기 위한 절차를 도시한 도면이다.
도 13은 판정 절차를 도시한 도면이다.
도 14는 수평 방향에서의 이동 속도의 변동들을 판정하기 위한 절차를 도시한 도면이다.
도 15는 진행 방향을 추정하기 위한 절차를 도시한 도면이다.
도 16은 TRIAD 알고리즘을 사용하여 자세를 계산하기 위한 절차를 도시한 도면이다.
도 17은 본 발명의 실시예에 따른 관성 장치에 대한 기능적 구성의 블록 다이어그램이다.
도 18은 본 발명의 실시예에 따른 관성 장치에 대한 속도 추정부의 기능적 구성의 블록 다이어그램이다.
도 19는 본 발명의 실시예에 따른 관성 장치에서 관리되는 파라미터 데이터베이스에 저장된 테이블의 예이다.
도 20은 본 발명의 실시예에 따른 관성 장치에 의해 생성된 속도 파형들을 도시한 도면이다.
도 21은 본 발명의 실시예에 따른 관성 장치에 의해 조합된 속도 파형들을 도시한 도면이다.
도 22는 본 발명의 실시예에 따른 관성 장치에 대한 절대 포지션 데이터 입력부, 절대 포지션 추정부, 및 맵 매칭부의 기능적 구성의 블록 다이어그램이다.
도 23은 무선장 강도의 신호대 잡음비와 무선 신호들을 수신하기 위한 간격 간의 관계를 도시한 도면이다.
도 24는 시간 업데이트 절차에 있어서 현재 포지션의 계산을 도시한 도면이다.
도 25는 시간 업데이트 절차에 있어서 현재 포지션의 계산을 도시한 도면이다.
도 26은 시간 업데이트 절차에 있어서 현재 포지션의 계산을 도시한 도면이다.
도 27은 시간 업데이트 절차에 있어서 현재 포지션의 계산을 도시한 도면이다.
도 28은 확장형 칼만 필터(종래 기술)의 수학식을 도시한 도면이다.
도 29는 시간 업데이트 절차(종래 기술)에서 사용된 변수들을 도시한 도면이다.
도 30은 측정 업데이트 절차(종래 기술)에서 사용된 변수들을 도시한 도면이다.
도 31은 수직 방향으로 보행하기 위한 모션 특성들을 도시한 도면이다.
도 32는 수평 방향으로 보행하기 위한 모션 특성들을 도시한 도면이다.
도 33은 보행 모션에 대한 속도들을 추정한 결과를 도시한 도면이다.
도 34는 보행 모션에 대한 포지션들을 추정한 결과를 도시한 도면이다.
도 35는 보행 모션에 대한 포지션들을 추정한 결과를 도시한 도면이다.
도 36은 절대 포지션 데이터를 사용하여 추정된 결과들을 정정한 결과를 도시한 도면이다.
도 37은 보행 모션의 측정 오차에 대한 추정된 값의 변동을 도시한 도면이다.
본 발명은 예시적인 실시예들을 참조하여 본 명세서에서 설명될 것이다. 당업자는, 다수의 대안적인 실시예들이 본 발명의 교시들을 이용하여 달성될 수 있으며, 본 발명은 설명의 목적으로 예시된 실시예들에 한정되지 않음을 인식할 것이다.
도면들의 설명에 있어서, 동일한 컴포넌트들에게는 동일한 참조부호들이 주어지고 설명들이 반복되지 않음을 주목해야 한다.
1. 개관
도 1은 본 발명의 실시예에 따른 관성 장치의 개관을 도시한 도면이다. 도 1은 관성 장치(1)를 갖고 보행하는 사용자를 도시한다. 본 명세서에 있어서, 사용자가 보행하는 방향은 x축으로서 표현되고, x축에 수직이고 지면과 평행한 방향은 y축으로서 표현되고, x축 및 y축 양자에 수직인 방향은 z축으로서 표현된다.
관성 장치(1)는 휴대용이고 사용자에 의해 운반될 수도 있다(예를 들어, 셀 폰, 스마트 폰, 개인용 디지털 보조기 또는 노트북 PC). 관성 장치(1)는 일반적인 스마트폰에서 구현되는 관성 센서들(예를 들어, 가속도 센서, 각속도 센서, 자기장 센서 등)을 갖는다. 관성 장치(1)는 가속도 및 각속도의 변동들 및 관성 장치(1)의 방향을 검출할 수도 있다.
본 발명의 실시예에 따른 관성 장치(1)는, 필요에 따라, 3개 축들 상의 가속도(3축 가속도), 3개 축들 상의 각속도(3축 각속도) 및 3개 축들 상의 자기장의 강도(3축 자기장 강도)를 포함한 센서 데이터를 획득할 수도 있다. 좌표계는 장치 또는 센서 타입에 의존하고, 이는 "장치 좌표계"로 지칭된다. 따라서, 장치 좌표계에서 획득된 측정 값들은 절대 좌표계로 변환된다.
관성 장치(1)는 종종 절대 좌표계에서의 변환된 가속도(벡터)를 획득할 수도 있다. 특히, 관성 장치(1)는, 좌표계를 변환하고 그리고 변환된 센서 데이터로부터 중력을 제거함으로써 센서 데이터로부터 가속도(변환된 3축 가속도)의 수직 성분 및 수평 성분을 획득할 수도 있다. 관성 장치(1)는, 필요에 따라 획득 및 저장되는 변환된 3축 가속도의 수직 방향에서의 변환된 가속도의 변동들을 표시하는 파형들을 사용하여 피봇 발(pivot foot)이 지면에 착지한 이후 타겟의 하나의 발이 다른 발을 통과한 시간을 식별한다. 그 시간은 하위의 터닝 포인트들(하위의 피크들)이 파형으로 도시된 시간을 나타내기 때문에, 그 시간은 "피크 시간" 또는 "피크 포지션"으로 지칭된다.
다음으로, 관성 장치(1)는 피크 포지션 주위로 미리 결정된 기간에서 변환된 가속도의 수평 성분을 적분할 수도 있다. 여기서, 계산된 값들은 "변환된 속도 벡터의 수평 성분"으로서 지칭된다. 관성 장치(1)는 변환된 속도 벡터의 계산된 수평 성분; 타겟의 이동 액션의 주기; 및 변환된 가속도의 수직 성분의 피크 값 또는 피크 진폭(수직 방향의 피크 가속도의 값)을 이용함으로써 획득된 데이터가 타겟의 실제 보행 모션(또는 진행 액션)을 나타내는지 여부를 판정할 수도 있다. 여기서, 타겟의 이동 액션의 주기는 "이동 주기"로 지칭된다. 이동 주기의 예는 인간의 보행 주기이다. 부가적으로, 타겟의 실제 보행 모션 또는 진행 액션은 간단히 "보행 모션"으로서 표현된다(단, "보행" 이외의 임의의 액션도 포함).
다음으로, 관성 장치(1)가 데이터가 실제 보행 모션으로부터 도출된다고 판정할 경우, 관성 장치(1)는 데이터가 획득된 시간 근방에서 변환된 속도 벡터들의 수평 성분을 조합하고, 관성 장치(1)는, 필요에 따라, 사용자가 걸음을 내딛음을 나타내는 진행 방향 벡터를 계산할 수도 있다. 후속적으로, 관성 장치(1)는 최종 진행 방향 벡터와 이전 방향 벡터의 조합에 의해 표시된 진행 방향을 추정할 수도 있다.
이러한 방식으로, 관성 장치(1)가 푸리에 변환(FT) 또는 주성분 분석없이 진행 방향을 추정할 수도 있기 때문에, 관성 장치(1)는 타겟의 보행 모션에 대한 가속도 신호의 저 주파수로 인해 고 레이트 센서 샘플링을 수행할 필요가 없다. 부가적으로, 관성 장치(1)가 복수의 보행 걸음들에 대한 FT 를 수행할 필요가 없기 때문에, 걸음 당 추정된 진행 방향의 정확도 및 추정의 응답이 개선된다. 이는 비용 및 장치의 단점을 감소시키는 것을 가능하게 한다.
더욱이, 사용자에 대한 관성 장치를 유지하기 위한 방법이 제한되지 않기 때문에, 이용가능성이 개선될 수도 있다. 그 장점은 관성 장치가 사용자에 대해 네비게이션 기능을 제공할 경우에 특히 유리하다.
관성 장치(1)는 상기 언급된 장치 이외에 음악 플레이어, 헬스 모니터, 시계 등과 같은 장치로서 구현될 수도 있다. 부가적으로, 관성 장치(1)는 다른 장치(예를 들어, 보행 로봇 또는 동물용 목걸이)에 통합될 수도 있다. 이는, 특정 주기 내에서 수직 방향으로 운동하게 하는 다양한 타입들의 생물들 또는 물체들의 진행 방향을 추정 가능하게 한다.
2. 하드웨어 구성
도 2는 본 발명의 실시예에 따른 관성 장치(1)에 대한 구성의 개관을 도시한 도면이다. 도 2에 도시된 예에 있어서, 관성 장치(1)는 스마트폰과 같은 모바일 장치로서 구현된다.
관성 장치(1)는 CPU(11), RAM(12), ROM(13), 가속도 센서(14), 각속도 센서(15), 자기장 센서(16), 마이크로폰(17), 스피커(18), 통신 모듈(19), 블루투스(TM) 통신 모듈(20), GPS 수신기 모듈(21), 디스플레이(22), 터치패널(23), 배터리(24), 기압 센서(25) 및 버스(26)를 갖는다.
CPU(11)는 관성 장치(1)를 제어하는 프로그램들을 실행할 수도 있다. RAM(12)은 CPU(11)에 대한 작동 영역으로서 작동할 수도 있다. ROM(13)은 CPU(11)에 의해 실행되는 프로그램들, 및 그 프로그램들을 실행하는데 요구된 데이터를 저장할 수도 있다. 가속도 센서(14)는 관성 장치(1)에 의해 사용된 장치 좌표계에 있어서 X'축, Y'축, 및 Z'축 방향들에서의 가속도를 검출할 수도 있다. 각속도 센서(15)(또는 자이로스코프)는 관성 장치(1)에 의해 사용된 장치 좌표계에 있어서 X'축, Y'축, 및 Z'축 방향들에서의 각속도를 검출할 수도 있다. 자기장 센서(16)는 나침반이 북쪽을 포인팅하게 하는 3차원 벡터를 출력할 수도 있고, 관성 장치(1)의 양태를 검출하는데 사용될 수도 있다. 기압 센서(25)는 기압을 측정하고, 관성 장치(1)의 고도를 검출할 수도 있다.
마이크로폰(17)은 음성을 전자 신호로 변환할 수도 있다. 스피커(18)는 전자 신호를 사운드로서 출력할 수도 있다. 통신 모듈(19)은 3G 네트워크 및/또는 무선 LAN을 통해 접속된 다른 장치와 통신할 수도 있다. 블루투스(TM) 통신 모듈(20)은 블루투스 프로토콜들을 이용하여 다른 장치들과 통신할 수도 있다. GPS 수신기 모듈(21)은 GPS 위성들 또는 실내 메시징 시스템(IMES) 송신기들로부터 송신된 측위 신호들을 수신할 수도 있다.
디스플레이(22)는 사용자에 대해 스크린을 제공할 수도 있다. 터치 패널(23)은 사용자로부터의 입력을 수용할 수도 있다. 배터리(24)는 관성 장치(1)로 전력을 공급할 수도 있다. 버스(26)는 상기 언급된 장치들(배터리(24) 제외)을 서로 접속시킬 수도 있다.
마이크로폰(17), 스피커(18), 통신 모듈(19), 블루투스(TM) 통신 모듈(20), GPS 수신기 모듈(21), 디스플레이(22), 터치패널(23), 및 기압 센서(25)는 관성 장치(1)에 대한 옵션적인 엘리먼트들이다. 예를 들어, 관성 장치(1)가, 디스플레이 스크린을 갖지 않는 헬스 모니터로서 구현될 경우, 관성 장치(1)는 그러한 컴포넌트 모듈들을 가질 필요가 없다.
대안적으로, 관성 장치(1)는 블루투스(TM) 통신 모듈(20) 대신 다른 통신 프로토콜들(예를 들어, ZigBee (TM))에 따른 통신 장치를 가질 수도 있다.
3. 기능들
도 3은 관성 장치(1)에 대한 기능적 구성의 블록 다이어그램이다. 관성 장치(1)의 기능들은 대략적으로, "좌표계들의 변경" 기능과 "진행 방향에 대한 추정" 기능으로 나뉘어질 수도 있다.
3.1 좌표계들의 변경
관성 장치(1) 상에서의 좌표계의 변환을 수행하는 좌표계 변환부(100)는 가속도 획득부(101), 각속도 획득부(102), 자기장 획득부(103), 자세 계산부(104), 자기장 신뢰성 평가부(105), 및 절대 가속도 변환부(107)를 갖는다. 좌표계 변환부(100)는 장치 좌표계에서의 가속도 센서(14)로부터 획득된 3축 가속도를 절대 좌표계에서의 절대 가속도로 변환할 수도 있다.
절대 좌표계는, GPS에 의해 사용된 WGS84(World Geodetic System 1984) 및 UTM(Universal Transverse Mercator Coordinate) 시스템과 같은 직교 좌표계를 포함하는 다양한 종류들의 센서들에 의해 측정된 좌표값들을 핸들링하는데 사용된다. 따라서, 절대 좌표계에 있어서, 타겟의 포지션 또는 방향은 공간에 고정된 원점으로부터의 거리 관계에 의해 표현될 수도 있다. 절대 좌표계는 "월드 좌표계"로 지칭된다. 한편, 장치 좌표계는 "보디 좌표계"로도 지칭되며, 이 보디 좌표계는 관성 장치(1) 내부의 일 포인트에서의 원점, 및 서로 직교하는 3개 축들(즉, x축, y축, 및 z축)을 정의한다.
가속도 획득부(101)는 가속도 센서(14)에 의해 검출된 3축 가속도의 변동을 획득할 수도 있다.
각속도 획득부(102)는 각속도 센서(15)에 의해 검출된 3축 각속도의 변동을 획득할 수도 있다. 여기서, 각속도는 가속도와 마찬가지로 장치 좌표계에서 획득될 수도 있다.
자기장 획득부(103)는, 자기장 센서(106)에 의해 검출된 자북으로 포인팅하는 3차원 자기장 벡터를 획득할 수도 있다. 이러한 방식으로, 자기장 획득부(103)는 관성 장치(1)의 방향을 취득할 수도 있다. 여기서, 그 방향은 가속도와 마찬가지로 장치 좌표계에서 획득될 수도 있다.
자세 계산부(104)는 가속도 획득부(101), 각속도 획득부(102), 및 자기장 획득부(103)에 의해 획득된 센서 데이터를 이용하여 관성 장치(1)의 현재 자세를 계산할 수도 있으며, 자세 계산부(104)는 계산된 자세 데이터(회전 행렬)에 대한 역행렬 계산에 의해 역회전 행렬(106)을 계산할 수도 있다.
자기장 획득부(103)에 의해 획득된 데이터는 실내 환경에서의 환경적 자기장으로 인해 신뢰할 수 없을 수도 있다. 따라서, 자세 계산부(104)는, 오직 자기장 신뢰성 평가부(105)(후술됨)가 데이터가 신뢰할 수 있다고 판정할 경우에만 자기장 획득부(103)에 의해 획득된 데이터를 사용할 수도 있다.
자세 계산부(104)는 당업계에서 일반적으로 사용되는 확장형 칼만 필터(비특허문헌들 1 및 2, 도 17 및 도 18 참조)를 이용하여 관성 장치(1)의 자세를 나타내는 행렬을 계산할 수도 있고, 자세 계산부(104)는 반전시킬 수도 있다. 상세한 절차는 하기에서 설명된다.
확장형 칼만 필터의 일반식들
도 28은 확장형 칼만 필터의 수학식을 도시한 도면이다. 칼만 필터의 계산에 있어서, "시간 업데이트" 및 "측정 업데이트" 절차들은 시간 스텝을 진행하기 위한 순서로 실행된다. 시간 업데이트 절차에 있어서, 현재 시각에서의 추정된 상태는 이전 시각에서의 추정된 상태로부터 계산된다. 측정 업데이트 절차에 있어서, 추정된 값들은 현재 시각에서의 측정을 이용하여 정정되고, 이에 의해, 더 정확한 상태가 추정될 수도 있다. 그러한 절차들을 반복함으로써, 최적 상태 변수들이 추정된다.
도 29는 시간 업데이트 절차(종래 기술)에서 사용된 변수들을 도시한 도면이다. 도 28에 도시된 바와 같은 "시간 업데이트"로 명명된 프레임에서의 수학식(1)-수학식(3)에 대응하는 변수들이 설명된다. 여기서, "k"는 이산적인 스텝 시간을 나타내고, "k-1"은 이전 스텝에서의 시간을 나타낸다.
도 30은 측정 업데이트 절차에서 사용된 변수들을 도시한 도면이다. 도 28에 도시된 바와 같은 "측정 업데이트"로 명명된 프레임에서의 수학식(1)-수학식(6)에 대응하는 변수들이 설명된다.
확장형 칼만 필터의 적용
자세 계산부(104)는 확장형 칼만 필터에서의 시간 업데이트 절차를 이용하여 각속도 센서(15)로부터 도출된 자세 데이터(롤, 피치, 및 요 각들)를 업데이트할 수도 있다. 부가적으로, 자세 계산부(104)는 확장형 칼만 필터에서의 측정 업데이트 절차를 이용하여 가속도 센서(14)로부터 도출된 자세 데이터(롤 및 피치 각들)를 업데이트할 수도 있다(이하, "제 1 측정 업데이트 절차"로 지칭함). 더욱이, 자세 계산부(104)는 측정 업데이트 절차를 이용하여 자기장 센서(16)로부터 도출된 자세 데이터(요 각)를 업데이트할 수도 있다(이하, "제 2 측정 업데이트 절차"로 지칭함).
이러한 방식으로, 자세 계산부(104)는 7상태 확장형 칼만 필터를 형성할 수도 있다. 자세 계산부(104)는 시간 업데이트 절차 및 2개의 측정 업데이트 절차들을 병렬도 반복하여 실행할 수도 있고, 자세 및 자이로 제로 포인트 바이어스 값을 추정할 수도 있다. 자세는 하기에 나타낸 바와 같은 쿼터니온(벡터)을 사용하여 표현된다.
Figure 112015073326067-pct00001
쿼터니온 벡터는 4개의 변수들을 갖고 물체의 자세를 표현할 수도 있다. 롤, 피치, 요 각들을 이용한 자세 표현은 "짐벌락(Gimbal Lock)"으로 지칭된 특이성에 관한 문제를 갖지만, 쿼터니온은 특이성없이 임의의 자세를 표현할 수도 있다. 자이로 제로 포인트 바이어스 값은 3개 축들에 대응하는 3개 변수들(bxk,byk,bzk)을 사용하여 표현될 수도 있다(b는 상수).
다음에 있어서, 상기 언급된 3개의 절차들((1) 내지 (3))이 설명된다.
시간 업데이트 절차
먼저, 도 5 내지 도 7을 참조하여, 확장형 칼만 필터에서의 시간 업데이트 절차가 설명된다. 자세 계산부(104)는 그 절차를 실행하고, 후술되는 상태 추정 모델에 있어서 자이로 출력 값들을 입력으로서 이용하여 확장형 칼만 필터에서의 시간 업데이트 절차에 따라 시간 적분을 수행한다. 이러한 방식으로, 업데이트된 쿼터니온 벡터(q) 및 오차 공분산 행렬(P)가 획득된다(롤, 피치, 및 요 각들).
도 5는 확장형 칼만 필터의 일반식에 있어서 본 발명의 실시예에 따른 (1) 시스템 상태 추정 모델의 변수들을 도시한 도면이다. 여기서, 현재에서의 상태 추정 값들이 쿼터니온 벡터 및 자이로 제로 포인트 바이어스 값을 이용하여 도 5의 수학식(1)-1과 같이 정의된다.
Figure 112015073326067-pct00002
입력 값들(uk)은 각속도 센서의 출력 값들(ω0xk0yk0zk)(rad/sec)을 이용하여 도 5에서의 수학식(1)-4과 같이 정의된다.
Figure 112015073326067-pct00003
따라서, 값들(ω0xk0yk0zk)은, 제로 포인트 값들이 대체되고 오프셋이 존재하지 않는 각속도를 나타낸다. 시스템 상태 추정 모델은 도 5에서의 수학식(1)-5와 같이 표현되며, 여기서, C1, C2, C3은 상수이다.
Figure 112015073326067-pct00004
도 6은 확장형 칼만 필터의 일반식에 있어서 본 발명의 실시예에 따른 시간 업데이트 절차에서의 (2) 편미분 행렬(자코비안)을 도시한 도면이다. 도 5에서 나타낸 바와 같이, 시스템 상태 추정 모델은 수학식(1)-5로서 표현된다. 식(1)-5의 우변은 "f"이다. 따라서, 우변의 편미분은 시간 업데이트 절차에서의 편미분 행렬을 발생시킨다.
도 7은 확장형 칼만 필터의 일반식에 있어서 본 발명의 실시예에 따른 오차 공분산 추정 모델(Pk |k- 1)을 도시한 도면이다. 프로세스 노이즈(Qk)는 시스템 식별 프로세스에서 미리 결정된다.
Figure 112015073326067-pct00005
현재 시각에서의 오차 공분산 행렬(Pk |k- 1)은 프로세스 노이즈(Qk), 이전 스텝에서의 오차 공분산 행렬, 시간 업데이트 절차에서의 편미분 행렬(자코비안)(Fk), 및 그 전치행렬(Fk T)을 이용하여 계산될 수도 있다(도 7에서의 수학식(3)-5). 현재 시각에서의 오차 공분산 행렬(Pk |k-1) 및 행렬(Pk -1|k- 1)은 실수인 7×7 엘리먼트들을 갖는다.
자세 계산부(104)는 상기 언급된 모델 및 변수를 이용하여 확장형 칼만 필터에서의 시간 업데이트 절차를 실행하고; 절대 좌표계에 있어서 관성 장치(1)의 자세를 계산하며; 그리고 그 자세를 나타내는 행렬의 역회전 행렬을 계산할 수도 있다.
제 1 측정 업데이트 절차
도 8은 확장형 칼만 필터에서의 제 1 측정 업데이트 절차를 도시한 도면을 나타낸다. 그 절차를 실행함으로써, 자세 계산부(104)는 가속도 획득부(101)에 의해 획득된 수평 방향에서의 각도 데이터를 현재의 쿼터니온 벡터의 수평 각도 데이터와 비교하며, 자세 계산부(104)는 그 차분을 정정할 수도 있다.
도 8은 확장형 칼만 필터의 일반식에서의 (1) 관측 잔차들에 포함된 변수들을 나타낸다.
Figure 112015073326067-pct00006
먼저, 이전 스텝에서의 관측 값들(벡터)(h)이 도 8에서의 수학식(1)-3과 같이 표현된다.
Figure 112015073326067-pct00007
상기 수학식에 포함되는 엘리먼트들은 3차원 회전 행렬(4×4)로부터 도출되며 그 엘리먼트들은 미리 결정된다. 관측 값들(벡터)(zk)은 도 8에서의 수학식(1)-2와 같이 표현된다.
Figure 112015073326067-pct00008
여기서, 값들(ax,ay,az)은, 가속도 획득부(101)에 의해 획득되는, 가속도 센서(14)로부터 출력된다. 상기 언급된 h 및 zk를 이용하여, 관측 잔차들이 하기에 나타낸 바와 같이 계산된다.
Figure 112015073326067-pct00009
확장형 칼만 필터의 일반식에 있어서 측정 업데이트 절차에서의 편미분 행렬(자코비안)(Hk)(1)은 도 8에서의 수학식(1)-3에 나타낸 관측 값들(h)의 편미분을 계산함으로써 획득된다.
확장형 칼만 필터의 일반식에 있어서의 잔차 공분산(Sk)(3)이, 관측 노이즈(행렬)(Rk), 측정 업데이트 절차에서의 편미분 행렬(Hk), 그 전치행렬(Hk T) 및 현재 시각에서의 오차 공분산 행렬(Pk|k-1)를 이용하여 계산된다.
Figure 112015073326067-pct00010
여기서, 값들(r1,r2,r3)은 가속도 센서(14)의 장치 평가 프로세스에서 미리 결정된 분산들이다.
확장형 칼만 필터의 일반식에 있어서의 칼만 이득(Kk)은 현재 시각에서의 오차 공분산 행렬(Pk |k-1), 측정 업데이트 절차에서의 편미분 행렬의 전치 행렬(Hk T), 및 잔차 공분산의 역행렬(Sk - 1)을 사용하여 계산된다. Kk는 7×3 엘리먼트들을 가지며, 이들은 실수들이다.
유사하게, 확장형 칼만 필터의 일반식에 있어서의 상태 추정 값들(xk |k)(5) 및 업데이트된 오차 공분산 행렬(Pk |k)(6)은 상기 언급된 변수들을 사용하여 계산된다.
자세 계산부(104)는, 상기 언급된 모델 및 변수들을 사용하여, 확장형 칼만 필터에서의 측정 업데이트 절차를 실행하고; 수평 방향에서의 각도 데이터를 현재의 쿼터니온 벡터의 수평 각도 데이터와 비교하며; 그리고 그 차분을 정정(오직 롤 및 피치 각들만)할 수도 있다.
제 2 측정 업데이트 절차
도 9는 확장형 칼만 필터의 제 2 측정 업데이트를 도시한 도면이다. 자세 계산부(104)는, 자기장 획득부(103)에 의해 획득된 데이터가 자기장 신뢰성 평가부(105)(후술됨)로부터 신뢰가능하다고 표시하는 통지를 수신할 수도 있다. 자기장 획득부(103)로부터의 데이터가 신뢰가능할 경우, 자세 계산부(104)는, TRIAD 알고리즘을 통해 획득된 자세 데이터로부터 계산된 요 각을 이용하여 제 2 측정 업데이트 절차를 실행하여, 쿼터니온 벡터의 요 각 성분을 정정할 수도 있다. TRIAD 알고리즘은 후술된다.
도 9는, 도 8과 마찬가지로, 확장형 칼만 필터의 일반식에서의 (1) 관측 잔차들에 포함된 변수들을 나타낸다.
Figure 112015073326067-pct00011
도 8과 마찬가지로, 이전 스텝에서의 관측 값들(벡터)(h)이 도 9에서의 수학식(1)-3과 같이 표현된다. 한편, 관측 값들(벡터)(zk)은 도 9에서의 수학식(1)-2와 같이 표현된다.
Figure 112015073326067-pct00012
상기 벡터는 TRIAD 알고리즘에 의해 계산된 요 각 방향을 나타낸다.
제 1 측정 업데이트 절차와 마찬가지로, 확장형 칼만 필터의 일반식에 있어서 측정 업데이트에서의 편미분 행렬(자코비안)(Hk)(2)은 이전 스텝에서의 관측 값들(h)의 편미분을 계산함으로써 획득된다.
확장형 칼만 필터의 일반식에 있어서의 잔차 공분산(Sk)(3)은, 관측 노이즈(행렬)(Rk), 측정 업데이트에서의 편미분 행렬(Hk), 그 전치행렬(Hk T), 및 현재 시각에서의 오차 공분산 행렬(Pk|k-1)를 이용하여 계산된다.
Figure 112015073326067-pct00013
여기서, 값들(T1, T2, T3)은 자기장 센서(16)의 장치 평가 프로세스에서 미리 결정된 분산들이다.
부가적으로, 칼만 이득(Kk)(4), 업데이트된 상태 추정 값들(xk |k)(5), 및 업데이트된 오차 공분산 행렬(Pk |k)(6)이 제 1 측정 업데이트 정차와 마찬가지로 계산된다.
자기장 신뢰성 평가부(105)는, 자기장 획득부(103)를 통해 자기장 센서(16)로부터 획득된 자기장 벡터가 신뢰가능하다고 판정할 수도 있으며, 자기장 신뢰성 평가부(105)는 그 결과를 자세 계산부(104)로 전송할 수도 있다. 자기장 센서(16)로부터의 센서 데이터의 정확도는 지자기의 변동 및 센서 장치 주변의 환경적 자기장에 의존하여 저하할 수도 있다. 자기장 신뢰성 평가부(105)는 그 효과를 평가하고, 센서 데이터가 신뢰성있는지 여부를 판정할 수도 있다. 다음에 있어서, 판정 프로세스가 설명된다.
자기장 신뢰성 평가부(105)는 먼저, 상기 언급된 절차를 통해 획득된 최신의 자세 데이터인 제 1 자세 데이터(쿼터니온)를 획득한다. 다음으로, 자기장 신뢰성 평가부(105)는 TRIAD 알고리즘에 따라, 가속도 및 지자기의 레퍼런스 벡터들 그리고 자기장 획득부(103)로부터 획득된 자기장 벡터들을 이용하여 제 2 자세 데이터(쿼터니온)를 획득한다. 수직 하향 방향을 나타내는 가속도 및 지자기의 레퍼런스 벡터들은 공장-구성식이거나 또는 사용자에 의해 구성된다.
TRIAD 알고리즘을 사용한 자세의 계산
도 16은, 공지된 TRIAD 알고리즘에 따라 제 2 자세 데이터를 계산하기 위해 자기장 신뢰성 평가부(105)에 의해 수행되는 절차를 도시한 도면이다.
우선, 단계(S10)에서, 장치가 선적되기 전 또는 사용자의 지시에 응답하여, 초기화 프로세스가 수행되고, 레퍼런스 벡터들 (AccRef 및 MagRef)가 저장된다. AccRef는 가속도의 수직 하향 성분을 나타내고, MagRef는 자기장 벡터이다. 가속도의 수직 하향 성분을 나타내는 벡터는 다음 단계(S20)에서 설명되는 바와 같이 쿼터니온으로부터 계산될 수도 있다. 자기장 벡터는 자기장 센서로부터 입력된 자북을 포인팅한다. 그 단계는 오직 장치가 선적되기 전 또는 사용자의 지시에 응답해서만 수행된다. 따라서, 레퍼런스 벡터는, 초기화 프로세스가 실행되지 않는다면 동일한 값들을 유지한다.
단계(S20)에서, 자기장 신뢰성 평가부(105)는 관성 장치(1)의 최신의 자세를 나타내는 최신의 쿼터니온 벡터(4x1)를 수직 성분(하향 방향)을 나타내는 1x3 (즉, 1행 3열) 행렬 AccFrame으로 변환한다.
단계(S30)에서, 자기장 신뢰성 평가부(105)는 자기장 센서에 의해 획득된 자기장 벡터를 표시하는 행렬 MagFrame 및 AccFrame을 이용하여 3×3의 행렬 MagFrameM을 계산한다.
단계(S32)에서, 자기장 신뢰성 평가부(105)는, AccFrame과 MagFrame의 외적을 취하고 계산된 결과를 정규화함으로써 행렬 AccCrossMag를 계산한다.
단계(S34)에서, 자기장 신뢰성 평가부(105)는, AccFrame과 AccCrossMag의 외적을 취하고 계산된 결과를 정규화함으로써 행렬 AccCrossAcM을 계산한다.
단계(S36)에서, 자기장 신뢰성 평가부(105)는, AccFrame, 단계(S32)에서 계산된 AccCrossMag, 및 단계(S34)에서 계산된 AccCrossAcM을 이용함으로써 3x3 행렬 MagFrameM을 계산한다.
단계(S40)에서, 자기장 신뢰성 평가부(105)는 AccRef 및 MagRef를 이용하여 3×3 행렬 MagRefM을 계산한다.
단계(S42)에서, 자기장 신뢰성 평가부(105)는, AccRef와 MagRef의 외적을 취하고 계산된 결과를 정규화함으로써 행렬 MagCrossAcc를 계산한다.
단계(S44)에서, 자기장 신뢰성 평가부(105)는, AccRef와 MagCrossAcc의 외적을 취하고 계산된 결과를 정규화함으로써 행렬 MagCross를 계산한다.
단계(S46)에서, 자기장 신뢰성 평가부(105)는, 개별적으로 전치되는, AccRef, 단계(S42)에서 계산된 MagCrossAcc, 및 단계(S44)에서 계산된 MagCross를 조합함으로써 3x3 행렬 MagRefM을 생성한다.
단계(S40(S42-S46))는, AccRef 및 MagRef가 초기화 이후 변경될 경우에 수행될 수도 있다. 따라서, 자기장 신뢰성 평가부(105)는 초기화가 다시 수행될 때까지 저장된 MagRefM을 재사용할 수도 있다.
단계(S50)에서, 자기장 신뢰성 평가부(105)는 MagFrame과 MagRefM의 내적을 획득한다. 획득된 행렬은 "mag_triad"(3×3)로 지칭된다. mag_triad는 장치 좌표계를 절대 좌표계로 변환하는데 사용된다. TRIAD 알고리즘에 있어서, 3개의 열들은 각각 TRIAD1, TRIAD2, 및 TRIAD3로 지칭된다.
단계(S60)에서, 자기장 신뢰성 평가부(105)는 mag_triad를 반전시키고(절대 좌표계와 장치 좌표계 간의 변환을 위한 행렬), 변환된 mag_triad를 쿼터니온으로 변환한다. 그 쿼터니온은 제 2 자세 데이터를 나타낸다.
자기장 신뢰성 평가부(105)는 제 1 자세 데이터의 차동 값과 상기 언급된 단계들에 의해 계산된 제 2 자세 데이터의 차동 값을 비교하여, 차이가 존재하는지를 판정한다. 차이가 존재하지 않을 경우(즉, 미분 값들의 차이가 임계값 미만인 경우), 자기장 신뢰성 평가부(105)는, 자기장 센서(16)로부터 획득된 데이터(지자기)가 신뢰가능함을 판정한다.
부가적으로, 자기장 신뢰성 평가부(105)는 다음의 기준들을 이용함으로써 그러한 평가의 정확도를 개선할 수도 있다.
-자기장 벡터의 절대 값이 미리 결정된 범위 내인지 여부
-제 1 자세 데이터 및 자기장 벡터로부터 획득된 부각이 미리 결정된 범위 내인지 여부
-제 2 자세 데이터 및 자기장 벡터로부터 획득된 부각이 미리 결정된 범위 내인지 여부.
일본 지리 조사 협회에 의해 발행된 자기장 벡터의 진폭 및 부각 데이터를 이용하여 범위가 정의될 수도 있다.
지자기 데이터가 신뢰가능할 경우, 제 2 자세 데이터로부터 계산된 요 각을 이용하여 제 2 측정 업데이트 절차가 실행된다. 그렇지 않으면, 제 2 측정 업데이트 절차가 실행되지 않는다.
절대 가속도 변환부(107)는 가속도 획득부(101)에 의해 획득된 가속도를, 자세 계산부(104)에 의해 계산된 역회전 행렬(106)로 승산하여, 절대 좌표계에서의 3축 가속도를 계산한다.
3.2 진행 방향에 대한 추정
"진행 방향에 대한 추정" 기능을 실행하는 도 3에 도시된 바와 같은 방향 추정부(200)는 밴드패스 필터(201), 피크 검출부(204), 피크 포지션 저장부(205), 변환된 가속도 저장부(206), 변환된 속도의 수평 성분 관리부(207), 피크 변환된 가속도의 수직 성분 관리부(208), 변환된 속도의 수평 성분 획득부(209), 주기 획득부(210), 판정부(211), 및 방향 계산부(212)를 포함한다.
방향 추정부(200)는 절대 좌표계에 있어서 좌표계 변환부(100)에 의해 획득된 가속도에 기초하여 각 걸음마다의 타겟의 진행 방향을 계산할 수도 있다.
밴드패스 필터(201)는 좌표계 변환부(100)에 의해 출력된 3축 절대 가속도로부터 중력 성분을 제거할 수도 있다. 예를 들어, 패스밴드는 보행 모션에 대한 일반 주파수인 약 1-3 Hz일 수도 있다. 패스밴드는 관성 장치(1)의 타겟의 보행 또는 진행 모션에 대한 주파수에 의존하여 변할 수도 있다. 여기서, 중력 성분이 제거된 절대 가속도는 "변환된 가속도(202)"로 지칭되며, 이는 밴드패스 필터(201)에 의해 출력된다. 변환된 가속도(202)는 변환된 가속도 저장부(206)에 저장될 수도 있다. 부가적으로, 변환된 가속도의 수직 성분은 "변환된 가속도의 수직 성분(203)"으로서 표현된다. 변환된 가속도의 수직 성분(203)은 피크 검출부(204)(후술됨)로 전달된다.
피크 검출부(204)는 밴드패스 필터(201)로부터 출력되는 변환된 가속도(202) 중 변환된 가속도의 수직 성분(203)에서의 변동(시간 변동)을 측정하고, 파형의 하위의 터닝 포인트(피크 시간 또는 피크 포지션들)를 검출할 수도 있다. 검출된 피크 포지션은 피크 포지션 저장부(205)(후술됨)에 저장된다. 다음에 있어서, 하위의 터닝 포인트에 대한 검출 방법이 설명된다.
도 10은 변환된 가속도의 수직 성분(203)(Z) 및 변환된 가속도의 수평 성분(X, Y)의 변동을 나타낸 파형들을 도시하며, 여기서, 횡축은 시간(초)을 나타낸다. 도 10에 도시된 바와 같이, 각각의 파형은 이동 주기(예를 들어, 보행 주기)에 대응하는 주기를 갖는다. 특히, 변환된 가속도의 수직 성분(203)의 파형은 수평 성분에 비해 더 큰 진폭(-1 m/s2 내지 1 m/s2)을 갖는다. 상위 터닝 포인트는 타겟의 발이 지면에 접지할 경우에 나타난다. 하위 터닝 포인트는 하나의 발이 다른 발을 통과할 경우에 나타난다.
도 31은 수직 방향으로 보행하기 위한 모션 특성들을 도시한 도면이다. 일반적으로, 보행 모션은 열등한 사지 모션에 따라 입각상(stance phase)과 유각상(swing phase)으로 분류될 수도 있다. 입각상에 있어서, 하나의 발의 뒷꿈치는 지면에 접지하고 그 후 발의 발가락이 지면에서 멀어진다. 유각상에 있어서, 하나의 발의 발가락은 지면에서 멀어지고 그 후 그 발의 뒷꿈치가 지면에 접지한다. 부가적으로, 보행 모션은 양각 지지 기간에 의해 특징지울 수 있다. 일반적으로, 보행 모션이 느려질 경우, 양각 지지 기간의 비율이 증가하고, 보행 모션이 빨라질 경우, 그 비율은 감소한다. 부가적으로, 달리기 모션은 양각 지지 기간을 제거한다. 더욱이, 사용자가 똑바로 보행할 경우, 수직 방향 및 수평 방향으로의 움직임은 "중기 입각"상에서 최대이다.
중기 입각상의 전반은 리프팅 발이 피봇 발을 통과하는 모션(리프팅 발이 몸의 몸통 아래의 점을 통과함)을 포함한다. 몸은 상위 방향을 향해 이동하고, 변환된 가속도는 수직 상위 방향으로 발생한다. 한편, 중기 입각상의 후반은 리프팅 발이 지면에 접지하는 모션을 포함한다. 몸은 하위 방향을 향해 이동하고, 변환된 가속도는 수직 하위 방향으로 발생한다.
도 32는 수평 방향으로 보행하기 위한 모션 특성들을 도시한 도면이다. 중기 입각상의 전반에 있어서의 변환된 가속도의 수평 성분은, 발이 타겟 포지션으로의 움직임을 위해 리프팅될 때의 가속도; 및 중력의 중심의 움직임에 의해 야기된 좌우진동으로 인한 가속도에 의해 영향을 받는다. 한편, 중기 입각상의 후반에 있어서의 변환된 가속도의 수평 성분은, 발이 타겟 포지션으로의 움직임을 위해 리프팅될 때의 가속도; 및 중력의 중심의 움직임에 의해 야기된 좌우진동으로 인한 가속도에 의해 영향을 받는다. 따라서, 중기 입각상의 후반에 있어서, 발을 리프팅하도록 요구된 변환된 가속도는 관측되지 않는다.
이에 따라, 본 발명의 실시예에 따른 관성 장치(1)는, 타겟의 몸을 이동시키기 위해 발을 리프팅하기 위한 가속도를 반영하는 중기 입각상의 전반에서의 변환된 이동 가속도를 이용하여 진행 방향을 추정할 수도 있다.
따라서, 관성 장치(1)는, 신호 임계치들을 이용하여, 변환된 가속도의 수직 성분(203)에서의 하위 터닝 포인트를 검출하고 보행 걸음을 측정할 수도 있다. 상위 터닝 포인트(즉, 발이 지면에 접함)에서의 수평 방향으로의 변환된 가속도가 착지로 인한 변동 및 노이즈를 포함할 가능성이 있기 때문에, 하위 터닝 포인트는 보행 걸음을 검출하는데 사용된다. 하위 터닝 포인트에서의 수평 방향으로의 변환된 가속도는 발의 착지에 의해 덜 영향을 받고, 보행 모션으로 인한 실제 가속도를 더 정확하게 나타낼 수도 있다.
피크 검출부(204)는, 변환된 가속도의 수직 성분(203)이 미리 결정된 임계치(Th) 미만으로 떨어진 이후 변환된 가속도의 수직 성분(203)이 미리 결정된 임계치(Th)를 초과하는 순간을 검출함으로써 피크들(터닝 포인트들)을 검출한다. 여기서, 피크 검출부(204)는, 변환된 가속도의 수직 성분(203)이 Th 미만으로 떨어질 때의 시각(ta), 및 변환된 가속도의 수직 성분(203)이 Th를 초과할 때의 시각(tb) 간의 중간 시각을 계산함으로써 피크 포지션을 명시할 수도 있다. 예를 들어, Th는 실제 보행 모션에서 관측되는 변환된 가속도의 수직 성분의 절반 값일 수도 있다. 임의의 다른 방법이 피크 포지션을 검출하는데 사용될 수도 있다.
부가적으로, 과거의 피크 포지션을 저장함으로써, 피크 검출부(204)는 과거의 피크 포지션과 현재의 피크 포지션 사이의 시간 간격을 나타내는 피크 간격을 계산할 수도 있다.
피크 포지션 저장부(205)는 피크 검출부(204)에 의해 검출된 피크 포지션을 저장한다. 피크 포지션 저장부(205)는 링 버퍼를 사용하여 과거의 피크 및 최신의 피크 포지션들을 저장한다. 피크 포지션 저장부(205)는 적어도, 최신의 피크 포지션 및 이전의 피크 포지션을 저장한다. 피크 위치들은 더 나중에 획득되는 피크 포지션들에 의해 업데이트된다. 피크 포지션 저장부(205)에 저장되는 피크 포지션들의 수는 관성 장치(1)의 저장 용량에 따라 변경될 수도 있다.
변환된 가속도 저장부(206)는 밴드패스 필터(201)에 의해 출력된 변환된 가속도(202)에 시간 데이터를 부가하고, 그들을 시계열 데이터로서 저장할 수도 있다.
변환된 속도의 수평 성분 관리부(207)는, 피크 검출부(204)가 피크 포지션을 검출할 경우, 그 피크 포지션에 중심을 둔 미리 결정된 기간(τ)에 있어서 각각의 성분에 대한(x 및 y) 변환된 가속도의 수평 성분을 적분하고, 수평 방향에서의 속도를 계산할 수도 있다. 그 속도는 "변환된 속도의 수평 성분"으로 지칭된다. 변환된 속도의 수평 성분은 속도의 방향 및 진폭의 상대적인 값을 나타내는 벡터로서 표현된다. 변환된 속도의 수평 성분 관리부(207)는 변환된 속도의 수평 성분 및 시간(t)의 세트를 저장할 수도 있다. 따라서, 변환된 속도의 수평 성분 관리부(207)는 변환된 속도의 수평 성분을 계산하기 위한 기능; 및 변환된 속도의 수평 성분을 저장하기 위한 기능을 갖는다.
도 11은 도 10에 도시된 파형들에 대응하는, 변환된 가속도의 수직 성분(203) 및 변환된 가속도의 수평 성분의 변동을 나타낸 파형들을 도시한다. 이 예에 있어서, 변환된 속도의 수평 성분 관리부(207)는 변환된 가속도의 수직 성분(203)의 파형으로부터 검출된 피크 포지션들(t1, t2, 및 t3)에 중심을 둔 미리 결정된 기간들(τ)에 있어서 시간에 관하여 변환된 가속도의 수평 성분들을 적분할 수도 있으며, 변환된 속도의 수평 성분(V1, V2, V3)을 계산할 수도 있다.
기간(τ)은 (tb-ta) 이하인 것이 바람직하다. 이는, 변환된 속도의 수평 성분 관리부(207)가 전체 시간 도메인에서 적분을 수행하면, 그 결과는, 보행 모션으로 인한 좌우진동에 의해 발생된 가속도 및 뒷꿈치가 지면과 접지할 때의 변동에 의해 발생된 가속도에 의해 영향을 받을 가능성이 있고 그리고 변환된 속도의 수평 성분 관리부(207)가 진행 방향을 정확하게 추정하지 못하기 때문이다.
변환된 속도의 수평 성분은 상기 언급된 피크 검출 절차, 및 하나의 발이 피봇 발을 통과할 때의 후속 절차에 의해 생성될 수도 있다. 생성되는 특징들은 속도의 방향 및 진폭을 나타내는 변환된 속도의 수평 성분 벡터로서 표현될 수도 있다. 도 12에 도시된 바와 같이, 변환된 속도의 수평 성분 벡터는, 하나의 발이 피봇 발을 통과할 경우에 좌우로의 타겟의 몸의 움직임의 방향(진행 방향) 및 진폭을 나타낸다.
피크 변환된 가속도의 수직 성분 관리부(208)는 변환된 가속도의 수직 성분(203)(이하, "피크 변환된 가속도의 수직 성분"으로 지칭됨)에 있어서 피크 포지션(시간)에서의 변환된 가속도를 획득할 수도 있으며, 그 변환된 가속도를 판정부(211)(후술됨)로 전달할 수도 있다.
변환된 속도의 수평 성분 획득부(209)는 변환된 속도의 수평 성분 관리부(207)로부터 변환된 속도의 최신의 및 이전의 수평 성분들을 획득할 수도 있으며, 변환된 속도의 획득된 수평 성분을 판정부(211)로 전달할 수도 있다.
주기 획득부(210)는 피크 포지션 저장부(205)로부터 복수의 피크 포지션들을 획득하고, 타겟의 진행 주기(예를 들어, 보행 주기)를 획득할 수도 있다. 부가적으로, 주기 획득부(210)는 피크 포지션들의 차분들을 계산함으로써 최신의 및 과거의 진행 주기들을 획득할 수도 있다. 주기 획득부(210)는 획득된 진행 주기들을 판정부(211)(후술됨)로 전달할 수도 있다.
판정부(211)는, 도 13에 도시된 절차들을 실행함으로써, 상기 언급된 절차에서 획득된 다양한 종류의 데이터가 실제 보행 모션으로부터 도출됨을 판정한다. 보행 모션은 보행 모션뿐 아니라 달리기 모션을 포함한, 타겟에 의해 수행된 진행 모션을 포함한다. 한편, 비-보행 모션은 관성 장치(1)를 자발적으로 또는 비자발적으로 흔들기 위한 모션, 또는 외부 환경으로부터 유도된 가속도에 의해 야기되는 모션(예를 들어, 타겟이 진행 물체에 의해 이송됨)을 포함한다. 다음에 있어서, 도 13에 도시된 절차가 설명된다.
단계(S100)에서, 판정부(211)는, 피크 변환된 가속도의 수직 성분 관리부(208)로부터 획득된 피크 변환된 가속도의 수직 성분이 미리 결정된 범위 내에 있는지 여부를 판정한다. 그렇다면, 절차는 단계(S200)로 진행한다. 그렇지 않으면, 절차는 단계(S600)로 진행하고, 판정부(211)는 검출된 모션(즉, 데이터)이 비-보행 모션으로부터 기인함을 판정한다. 피크 변환된 가속도의 수직 성분에 관한 미리 결정된 범위는 측정 타겟의 특성들(예를 들어, 보행자의 보행 특성들)에 따라 관성 장치(1)의 공급자 또는 사용자에 의해 미리구성될 수도 있다.
다음으로, 단계(S200)에서, 판정부(211)는, 변환된 속도의 수평 성분 관리부(207)로부터 획득된 변환된 속도의 수평 성분의 진폭이 미리 결정된 범위 내에 있는지 여부를 판정한다. 그렇다면, 절차는 단계(S300)로 진행한다. 그렇지 않으면, 절차는 단계(S600)로 진행하고, 판정부(211)는 검출된 모션이 비-보행 모션으로부터 기인함을 판정한다. 변환된 속도의 수평 성분의 미리 결정된 범위는 측정 타겟의 특성들(예를 들어, 보행자의 보행 특성들)에 따라 관성 장치(1)의 공급자 또는 사용자에 의해 미리구성될 수도 있다.
다음으로, 단계(S300)에서, 판정부(211)는, 주기 획득부(210)로부터 획득된 진행 주기가 미리 결정된 범위 내에 있는지 여부를 판정한다. 그렇다면, 절차는 단계(S400)로 진행한다. 그렇지 않으면, 절차는 단계(S600)로 진행하고, 판정부(211)는 검출된 모션이 비-보행 모션으로부터 기인함을 판정한다. 진행 주기의 미리 결정된 범위는 측정 타겟의 특성들(예를 들어, 보행자의 보행 특성들)에 따라 관성 장치(1)의 공급자 또는 사용자에 의해 미리구성될 수도 있다.
다음으로, 단계(S400)에서, 판정부(211)는, 수평 방향에서의 움직임의 진폭이 미리 결정된 범위 내에 있는지 여부를 판정한다. 그렇다면, 절차는 단계(S500)로 진행한다. 그렇지 않으면, 절차는 단계(S600)로 진행하고, 판정부(211)는 검출된 모션이 비-보행 모션으로부터 기인함을 판정한다.
여기서, 도 14를 참조하여, 수평 방향에서의 속도의 변동이 설명된다. 도 14(a)에 도시된 바와 같이, 보행 모션에 있어서, 사용자가 우측발을 내디딜 경우, 변환된 속도 벡터가 우측 방향으로 발생하고, 사용자가 좌측발을 내디딜 경우, 변환된 속도 벡터는 좌측 방향으로 발생한다. 그 모션을 인식하기 위해, 판정부(211)는 변환된 속도 벡터의 수평 성분이 그 특성들을 충족함을 판정한다.
먼저, 판정부(211)는, 도 14(b)에 도시된 바와 같이, 변환된 속도 벡터의 수평 성분의 시점과 변환된 속도 벡터의 수직 성분의 종점을 결합한다. 다음으로, 판정부(211)는 Vn 벡터들의 중심들을 연결한 선과 각각의 Vn 벡터의 종점 간의 거리(dn)를 계산한다. 다음으로, 판정부(211)는 dn이 미리 결정된 범위 내에 있는지 여부를 판정하고, 그렇다면, 판정부(211)는 그 모션이 실제 보행 모션으로부터 기인함을 판정한다. dn에 관한 미리 결정된 범위는 측정 타겟의 특성들(예를 들어, 보행자의 보행 특성들)에 따라 관성 장치(1)의 공급자 또는 사용자에 의해 미리구성될 수도 있다.
단계(S500)에서, 판정부(211)는 모션이 실제 보행 모션으로부터 기인함을 판정한다.
단계(S600)에서, 판정부(211)는 검출된 모션이 비-보행 모션으로부터 기인함을 판정한다.
상기 언급된 단계들(S100 내지 S400) 중 하나 이상의 단계들이 생략될 수도 있음을 주목한다. 하지만, 단계들 모두가 실행될 경우, 관성 장치(1)는 진행 방향을 정밀하게 추정할 수도 있다.
검출된 모션이 보행 모션으로부터 기인한다고 판정부(211)가 판정할 경우, 방향 계산부(212)는 각각의 걸음마다의 진행 방향을 추정하기 위해 다음의 절차를 수행할 수도 있다.
사용자의 보행 모션이 제로 걸음으로부터 제 1 걸음으로 천이할 경우, 방향 계산부(212)는 변환된 속도의 수평 성분 획득부(209)로부터 변환된 속도 벡터의 수평 성분(V0)을 획득한다(도 15(a) 참조). 다음으로, 사용자의 보행 모션이 제 1 걸음으로부터 제 2 걸음으로 천이할 경우, 방향 계산부(212)는 변환된 속도의 수평 성분 획득부(209)로부터 변환된 속도 벡터의 수평 성분(V1)을 획득한다(도 15(a) 참조).
다음으로, 방향 계산부(212)는 벡터들(V0, V1)을 정규화하여 벡터들(V0', V1')을 획득한다. 방향 산출부(212)는 획득된 벡터들(V0',V1')의 합성 벡터를 계산하고, 합성 벡터의 방향을 사용하여 각 걸음마다의 진행 방향(213)을 추정한다. 상기 절차는 사용자가 걸음을 내디딜 때 실행된다
상기 논의된 바와 같이, 관성 장치(1)는 절대 좌표계에서의 수직 방향으로의 가속도의 (하위) 피크 포지션에 중심을 둔 시간 기간에 있어서 수평 방향으로의 속도 벡터를 이용함으로써 걸음마다의 진행 방향을 추정할 수도 있다. 그것은 보행자의 발이 지면에 접지할 때에 발생하는 진동의 영향을 감소시키면서 위치 추정의 정확도를 개선시킬 수도 있다.
부가적으로, 관성 장치(1)는 자기장 센서로부터 획득된 센서 데이터의 정확도를 평가할 수도 있다. 센서 데이터가 신뢰가능할 경우, 관성 장치(1)는 그 센서 데이터를 사용하여, 관성 장치(1)의 자세를 나타내는 벡터를 (요 각 성분에 대해) 정정할 수도 있다. 결과적으로, 관성 장치(1)는, 자기장 센서로부터의 데이터를 사용하여 높은 정확도로, 자세를 나타내는 벡터를 정정할 수도 있다.
4. 현재 포지션 추정 기능
상기 논의에 있어서, 관성 장치(1)가, 관성 센서들로부터의 출력에 기초하여 타겟의 진행 방향을 추정하는 기능을 실행하는 것이 설명되었다. 다음에 있어서, 관성 장치(1)는, 외부로부터 획득된 절대 포지션 및 진행 방향을 이용하여 타겟의 현재 포지션을 추정하는 기능을 실행하는 것이 설명될 것이다.
도 17은 본 발명의 실시예에 따른 관성 장치(1)에 대한 기능적 구성의 블록 다이어그램이다. 본 발명에 따른 관성 장치(1)는, 도 3과 함께 논의된 바와 같은 좌표계 변환부(100) 및 방향 추정부(200)에 부가하여, 속도 추정부(300), 절대 포지션 데이터 입력부(400), 절대 포지션 추정부(500) 및 맵 매칭부(600)를 갖는다. 도 17에 도시된 바와 같이, 각각의 기능 유닛에 대한 입력 데이터 및 각각의 기능 유닛으로부터의 출력 데이터가 모식적으로 도시된다. 다음 섹션에 있어서, 속도 추정부(300), 절대 포지션 데이터 입력부(400), 절대 포지션 추정부(500), 및 맵 매칭부(600)에 의해 제공된 기능들이 논의된다. 이하 설명되는 바와 같이, 속도 추정부(300)는, 방향 추정부(200)에 의해 계산되는, 변환된 속도의 수평 성분(214), 피크 가속도의 수직 성분(215), 주기(216), 좌우로의 몸 모션의 진폭(217)(이후, "진폭(217)"으로 지칭됨), 및 진행 방향(213)(이하, "방향(213)"으로 지칭됨)에 기초하여 타겟의 실제 속도를 나타내는 속도 추정 벡터를 계산할 수도 있다.
4.1 속도 추정
도 18은 속도 추정부(300)에 대한 상세한 기능 블록 다이어그램을 도시한다. 속도 추정부(300)는 변환된 속도의 수평 성분 획득부(301), 피크 가속도의 수직 성분 관리부(302), 주기 획득부(303), 진폭 획득부(304), 방향 획득부(305), 변환부(306), 속도 파형 생성부(312), 속도 파형 조합부(314), 및 속도 파형 저장부(315)를 갖는다. 속도 추정부(300)는, 변환된 속도의 수평 성분(214), 피크 가속도의 수직 성분(215), 주기(216), 진폭(217), 및 방향(213)에 기초하여 타겟의 실제 속도를 나타내는 속도 추정 벡터를 계산할 수도 있다. 다음에 있어서, 속도 추정부(300)에 의해 실행된 프로세싱이 논의된다.
변환된 속도의 수평 성분 획득부(301)는 방향 추정부(200)의 변환된 속도의 수평 성분 획득부(209)와 유사하게, 변환된 속도의 수평 성분 관리부(207)로부터 변환된 속도의 수평 성분(214)을 획득할 수도 있으며, 변환된 속도의 수평 성분 획득부(301)는 변환된 속도의 수평 성분(214)을 변환부(306)에 입력할 수도 있다.
피크 가속도의 수직 성분 관리부(302)는 방향 추정부(200)의 피크 이동 가속도의 수직 성분 관리부(208)와 유사하게, 변환된 가속도 저장부(206)로부터 피크 가속도의 수직 성분(215)을 획득할 수도 있으며, 피크 가속도의 수직 성분 관리부(302)는 피크 가속도의 수직 성분(215)을 변환부(306)에 입력할 수도 있다.
주기 획득부(303)는 피크 포지션 저장부(205)의 주기 획득부(210)와 유사하게, 피크 포지션 저장부(205)에 저장된 데이터를 이용하여 타겟에 대한 모션의 주기(216)를 획득할 수도 있으며, 주기 획득부(303)는 획득된 데이터를 변환부(306)에 입력할 수도 있다.
진폭 획득부(304)는 변환된 속도의 수평 성분(214)으로부터 좌우로 타겟의 움직임 정도를 나타내는 진폭(217)을 획득할 수도 있으며, 진폭 획득부(304)는 진폭(217)을 변환부(306)에 입력할 수도 있다. 진폭(217)은 도 14를 이용하여 상기 예시된 바와 같이 계산될 수도 있다.
방향 획득부(305)는 방향 추정부(200)의 방향 계산부(212)로부터 방향(213)을 획득하고, 방향(213)을 변환부(306)에 입력할 수도 있다.
변환부(306)는 변환된 속도의 수평 성분(214), 피크 가속도의 수직 성분(215), 주기(216), 진폭(217), 및 방향(213)을, 각각, 속도 파라미터(Pa; 307), 강도 파라미터(Pb; 308), 주기 파라미터(Pc; 309), 진폭 파라미터(Pd; 310) 및 방향 파라미터(Pe; 311)로 변환할 수도 있다. 변환부(306)는 미리 결정된 규칙에 따라 데이터(214-217)를 정규화할 수도 있다. 변환부(306)는 각각의 데이터를, 임의의 공지된 정규화 방법을 이용하여 특정 범위로 정규화된 파라미터로 변환할 수도 있다.
속도 파형 생성부(312)는 도 19에 도시된 바와 같은 파라미터 DB(313)를 참조하고, 입력 파라미터들(307-311)(입력 파라미터들은 도 19에 도시된 예에서 사용됨)과 (타겟의 "성별", "연령", 및 "키"와 같은)타겟의 소정의 속성들 중 하나 이상을 키로서 사용하여 속도 생성 계수들(Ca-Cc)을 명시할 수도 있다. 다음으로, 속도 파형 생성부(312)는, 하기에서 설명되는 수학식에 따라, 입력 파라미터들(307-311) 및 속도 생성 계수들(Ca-Cc)을 이용하여 속도 파형을 생성할 수도 있다.
여기서, 속성들은 타겟의 "성별", "연령", 및 "키"를 포함할 수도 있다. 속성은 타겟의 타입(예를 들어, 사람, 동물, 이족보행 로봇), 식별 번호, 일련번호, 및 모션 속도(예를 들어, 고속 또는 저속)와 같은 타겟에 관한 임의의 다른 정보를 포함하지만 이에 한정되지 않는다.
도 19에 도시된 바와 같이, 파라미터 DB(313)는 타겟의 속성들( "성별", "연령", 및 "키")을 파라미터들(307-310) 및 속도 생성 계수들(Ca-Cc)과 연관시킨다. 도 19에서의 예에 있어서, 방향 파라미터(311)는 속도 생성 계수들(Ca-Cc)을 명시하는데 사용되지 않는다(즉, 속도 생성 계수들은 방향과 무관하게 명시됨). 하지만, 파라미터 DB(313)는 속도 생성 계수들(Ca-Cc)을 명시하기 위해 방향 파라미터(311)를 포함할 수도 있다.
파라미터 DB(313)는, 공통 속성들을 갖는 타겟들의 그룹이 파라미터들(307-311)에 의해 결정된 모션을 수행하는 시도에 의해 획득된 데이터에 기초하여 미리 생성된다. 여기서, 파라미터 DB(313)는 속도 파라미터(Pa)의 놈(norm) 값을 보유한다.
입력 파라미터들(307-311)을 갖는 엔트리가 파라미터 DB(313)에 존재하지 않는 경우, 속도 파형 생성부(312)는, 입력 파라미터들과 유사한 다른 파라미터들(307-311)과 연관된 속도 생성 계수들(Ca-Cc)을 선택할 수도 있다. 예를 들어, 그러한 계수들(즉, 다른 파라미터들(307-311)을 포함한 엔트리)을 선택할 목적으로, 속도 파형 생성부(312)는 엔트리들 중, 파라미터들의 제곱 평균 평방근(RMS)의 합이 최소인 엔트리를 선택할 수도 있다. 임의의 다른 방법이 파라미터 DB(313)에서 대응하는 엔트리를 선택하는데 사용될 수도 있다. 속도 파형 생성부(312)는 명시된 속도 생성 계수들(Ca-Cc)을 속도 파형 조합부(314)로 전송할 수도 있다.
속도 파형 생성부(312)는 다음의 수학식에서, 속도 생성 계수들(Ca-Cc) 및 입력 파라미터들(Pa-Pe; 307-311)을 이용하여 시간 기간 0 <= t <= Pc에서의 타겟의 속도의 변동을 나타내는 속도 파형을 생성할 수도 있다.
Figure 112015073326067-pct00014
대안적으로, 속도 파형 생성부(312)는 속도 파형을 생성하기 위해 임의의 다른 수학식을 생성할 수도 있다.
도 20은 생성된 속도 파형의 예를 도시한다. 여기서, θ는 방향 파라미터(Pe; 311)에 대응한다. 수학식 14는 3개의 항들을 포함한다: 즉, 속도 파라미터(Pa; 307)에 기초하여 속도를 추정하기 위한 제1항, 강도 파라미터(Pb; 308)에 기초하여 속도를 추정하기 위한 제2항, 및 진폭 파라미터(Pd; 310)에 기초하여 속도를 추정하기 위한 제3항. 항들에서의 파라미터들(Pa, Pb, 및 Pd)은, 각각, 속도 생성 계수들(Ca-Cc)에 의해 승산된다. 결과적으로, 보행 모션을 나타내는 속도 파형이, 복수의 파라미터들에 기초하는 속도 추정으로 인해 높은 정확도로 생성된다. 여기서, 파라미터 DB(313) 저장된 속도 생성 계수들(Ca-Cc)은 그들의 합이 1과 동일하도록 정규화된다. 속도 파형 생성부(312)는 생성된 속도 파형을 속도 파형 조합부(314)로 전송할 수도 있다.
속도 파형 생성부(312)로부터 속도 파형을 수신한 이후, 속도 파형 조합부(314)는, 이전에 생성되어 속도 파형 저장부(315)에 저장되었던 과거의 속도 파형들을 판독할 수도 있으며, 속도 파형 조합부(314)는 이들을 조합할 수도 있다. 속도 파형 조합부(314)는 시간 축 상에서 속도 파형들을 승산함으로써 속도 파형들을 조합할 수도 있다. 속도 파형 조합부(314)는 임의의 공지된 방법으로 속도 파형들을 조합할 수도 있다. 예를 들어, 속도 파형 조합부(314)는 단일의 조합된 파형을 생성하기 위해 소정의 시간에 속도 파형들 중 2 이상의 속도 파형들의 최대값을 표시할 수도 있다. 도 21은 속도 파형 조합부(314)에 의해 조합된 속도 파형의 예를 도시한다. 속도 파형 조합부(314)는 조합된 파형을 속도 파형 저장부(315)에 저장할 수도 있다.
속도 파형 저장부(315)는 속도 파형 조합부(314)에 의해 조합된 속도 파형뿐 아니라 시각 정보도 저장할 수도 있다.
이러한 방식으로, 속도 파형 저장부(315)는, 필요에 따라 획득된 파라미터들에 따라 조합된 최신의 속도 파형을 저장할 수도 있다. 후술되는 절대 포지션 추정부(500) 및 맵 매칭부(600)는 현재 시각에서의 조합된 속도 파형의 값들을 참조함으로써 최신의 속도를 나타내는 속도 데이터를 획득할 수도 있다. 속도 데이터는 수평 방향에서의 2개의 성분들에 의해 표현될 수도 있다. 따라서, 속도 데이터는 "속도 추정 벡터(316)"로 지칭된다.
4.2 절대 포지션 데이터 입력
도 22는 절대 포지션 데이터 입력부(400), 절대 포지션 추정부(500), 및 맵 매칭부(600)에 대한 상세한 기능 블록 다이어그램을 도시한다.
절대 포지션 데이터 입력부(400)는 제 1 절대 포지션 획득부(401), 제 2 절대 포지션 획득부(402), 측위 시간 측정부(403), 및 오차 정정부(404)를 포함한다. 절대 포지션 데이터 입력부(400)는 관성 장치(1)의 절대 포지션을 나타내는 절대 포지션 데이터, 및 포지션 데이터의 오차의 정도를 나타내는 오차 데이터를 절대 포지션 추정부(500)에 입력할 수도 있다.
제 1 절대 포지션 획득부(401)는 블루투스(TM) 통신을 통해 포지션 데이터 송신기와 같은 외부 장치와 통신하여, 관성 장치(1)의 절대 포지션을 나타내는 절대 포지션 데이터를 획득할 수도 있다. 절대 포지션 데이터는, 위도, 경도, 및 고도의 정도를 나타내는 포지션 벡터들(X1, Y1, 및 Z1)의 세트를 포함할 수도 있다. 대안적으로, 절대 포지션 데이터는 미리 결정된 기점으로부터 상대적인 포지션을 나타내는 임의의 벡터를 포함할 수도 있다. 제 1 절대 포지션 획득부(401)는 포지션 데이터 송신기로부터 절대 포지션 데이터의 오차의 정도를 나타내는 오차 데이터(σ1)를 획득할 수도 있다. 오차 데이터(σ1)는 포지션 데이터 송신기로부터 획득된 절대 포지션 데이터에 관한 오차 공분산 행렬이다. 예를 들어, 오차 데이터(σ1)는 포지션 데이터 송신기와 관성 장치(1) 간의 통신에 대한 무선장 강도에 따라 결정되는 오차 값들을 포함한다. 예를 들어, 무선장 강도가 더 약할 경우, 오차 공분산 행렬은 절대 포지션 데이터가 덜 정확함을 나타낸다. 오차 데이터는 관성 장치(1)에 미리 저장되거나 또는 포지션 데이터 송신기에 의해 전송될 수도 있다. 제 1 절대 포지션 획득부(401)는 절대 포지션 데이터(예를 들어, 포지션 벡터들) 및 오차 데이터를, 후술되는 절대 포지션 추정부(500)의 제 1 측정 업데이트 계산부(502)로 전송할 수도 있다.
제 2 절대 포지션 획득부(402)는, GPS 또는 실내 메시징 시스템(IMES)과 같이 제 1 절대 포지션 획득부(401)와는 상이한 수단을 통해 절대 포지션 데이터(X2, Y2, 및 Z2) 및 오차 데이터(σ2)를 획득할 수도 있다. 다른 실시예에 있어서, 제 2 절대 포지션 획득부(402)는 생략될 수도 있다(즉, 오직 제 1 절대 포지션 획득부(401)만이 존재함). 절대 포지션 획득부의 수는, 관성 장치(1)가 적용되는 시스템에 기초하여 결정될 수도 있다. 제 2 절대 포지션 획득부(402)는 절대 포지션 데이터(포지션 벡터들) 및 오차 데이터를, 절대 포지션 추정부(500)의 제 2 측정 업데이트 계산부(503)로 전송할 수도 있다.
측위 시간 측정부(403)는, 제 1 절대 포지션 획득부(401) 및 제 2 절대 포지션 획득부(402)가 절대 포지션 데이터를 획득하는 시간 간격들을 측정하고, 그들을 하기에서 논의되는 오차 정정부(404)로 전송할 수도 있다.
오차 정정부(404)는, 측위 시간 측정부(403)에 의해 전송된 시간 간격들이 미리 결정된 간격에 대응하는지 여부를 판정할 수도 있다. 그 간격의 폭에 따라, 오차 정정부(404)는 각각의 개별 포지션 획득부(401 또는 402)로부터 출력된 오차 공분산 행렬(σ1 또는 σ2)을, 그 공분산 값이 더 커지게 되도록 변경할 수도 있다. 그것을 달성하기 위해, 오차 정정부(404)는, 간격(초)을 정정량(공분산값에 의해 승산될 값)을 연관시키는 테이블을 이용할 수도 있다. 대안적으로, 오차 정정부(404)는 간격이 임계값을 초과할 경우에 오차 공분산 행렬을 정정할 수도 있다.
GPS 또는 IMES로부터 도출된 오차 데이터가 멀티패스 영향을 고려하여 생성되지 않기 때문에, 오차 데이터에 대한 정확도는 무선파 조건들에 의존한다. 도 23은 신호 대 노이즈 비(SNR)과 측정 간격의 지속기간 간의 관계를 도시한다. 따라서, 측정 간격이 미리 결정된 지속기간을 초과한 경우, 오차 정정부(404)는 공분산 값이 더 커지게 되도록 오차 공분산을 정정할 수도 있으며, 이에 의해, 정확도의 변동이 감소될 수도 있다.
포지션 데이터 송신기와 같은 외부 장치는 적외선 통신, 무선 LAN 통신, 가시광 통신, 또는 카메라를 이용한 측위 수단 등을 통해 절대 포지션 데이터 및 오차 데이터를 송신할 수도 있다. 관성 장치(1)는 상기 언급된 통신을 통해 신호를 수신하도록 구성된 수신부를 이용함으로써 절대 포지션 데이터 및 오차 데이터를 수신할 수도 있다. 수신된 절대 포지션 데이터 및 오차 데이터는 절대 포지션 추정부(500)(후술됨)의 측정 업데이트 계산부(502 또는 503)에 입력될 수도 있다. 임의의 수의 절대 포지션 획득부 및 측정 업데이트 계산부의 세트들이, 관성 장치(1)가 적용되는 시스템에 의존하여 채용될 수도 있다.
4.3 절대 포지션 추정
절대 포지션 추정부(500)는 시간 업데이트 계산부(501), 제 1 측정 업데이트 계산부(502), 제 2 측정 업데이트 계산부(503) 및 제 3 측정 업데이트 계산부(504)를 포함한다.
절대 포지션 추정부(500)는 속도 추정 벡터(316) 및 속도 추정 벡터(316)와 함께 제공된 속도 측정 오차 데이터(317)를 이용하여 현재 포지션 및 오차 데이터(이하, "현재 포지션 및 오차 데이터(505)"로 지칭됨)를 추정할 수도 있다. 속도 측정 오차 데이터(317)는 속도 추정 벡터(316)의 오차를 나타내는 오차 공분산 행렬(σv)이다. 속도 측정 오차 데이터(317)는 관성 장치(1)의 시스템 식별에 의해 결정 및 고정된다. 대안적으로, 복수의 오차 공분산 행렬들이 속도에 따라 사용될 수도 있다.
부가적으로, 절대 포지션 추정부(500)는 절대 포지션 데이터 입력부(400)로부터 출력된 절대 포지션 데이터(포지션 벡터들) 및 오차 데이터(오차 공분산 행렬)를 이용하여 현재 포지션 및 오차 데이터(505)를 업데이트할 수도 있다. 부가적으로, 절대 포지션 추정부(500)는 맵 매칭부(600)로부터 출력된 포지션 데이터(포지션 벡터들) 및 오차 데이터(오차 공분산 행렬)를 이용하여 현재 포지션 및 오차 데이터(505)를 업데이트할 수도 있다.
절대 포지션 추정부(500)는 확장형 칼만 필터를 이용하여 현재 포지션 및 오차 데이터(505)를 계산 또는 업데이트할 수도 있다. 이 실시예에 있어서, 절대 포지션 추정부(500)는 시간 업데이트 절차(시간 업데이트 계산부(501)) 및 3개의 측정 업데이트 절차들(제 1, 제 2, 및 제 3 측정 업데이트 계산부들(502, 503, 및 504))을 병렬로 실행할 수도 있다. 그 절차들에서 사용된 변수들 및 모델들은 하기에서 설명된다.
시간 업데이트 계산부(501)는 도 24 내지 도 26에 나타낸 변수들 및 모델들의 정의에 따라 확장형 칼만 필터에서의 시간 업데이트 절차를 실행하고, 관성 장치(1)의 현재 포지션 및 오차 데이터(505)를 계산 또는 업데이트할 수도 있다. 확장형 칼만 필터에서의 변수들 및 모델은 도 24에 나타낸 바와 같이 정의된다. 따라서, 현재의 상태 추정 값들은 3차원 포지션 벡터(즉, 도 24에 나타낸 바와 같은 수학식((1)-1 ))에 의해 표현될 수도 있다. 부가적으로, 현재의 입력 값들은 속도 추정부(300)로부터 출력된 속도 추정 벡터(316)(즉, 도 24에 나타낸 바와 같은 수학식((1)-4))를 이용하여 정의될 수도 있다. 더욱이, 시스템 상태 추정 모델은 도 24에 나타낸 바와 같은 수학식((1)-5)와 같이 정의될 수도 있다.
도 25에 나타낸 바와 같이, 편미분 행렬(자코비안)은 시스템 상태 추정 모델의 우측변에 대한 편미분이다.
도 26에 나타낸 바와 같이, 프로세스 노이즈(Qk)는 시스템 식별에 의해 미리결정되고 고정되는(즉, 상수) 속도 측정 오차 데이터 (317)이다. 현재의 오차 공분산 행렬(Pk|k-1 및 Pk-1|k-1)은 엘리먼트들 모두가 실수인 3×3 행렬들이다.
제 1 측정 업데이트 계산부(502)는 확장형 칼만 필터의 측정 업데이트를 실행하고, 관성 장치(1)의 현재 포지션 및 오차 데이터(505)를 계산 또는 업데이트할 수도 있다. 확장형 칼만 필터에서의 변수들 및 모델은 도 27에 나타낸 바와 같이 정의된다. 따라서, 이전 단계에서의 관측 값들은 3차원 포지션 벡터(즉, 도 27에 나타낸 바와 같은 수학식((1)-3 ))에 의해 표현될 수도 있다. 부가적으로, 관측 값들은 제 1 절대 포지션 획득부(401)로부터 출력된 포지션 벡터(즉, 절대 포지션 데이터)(도 27에 나타낸 바와 같은 수학식((1)-2))이다.
Figure 112015073326067-pct00015
h 및 zk에 기초하여, 다음의 관측 잔차들이 계산될 수도 있다.
확장형 칼만 필터의 일반식에 있어서 측정 업데이트에서의 편미분 행렬(자코비안)(Hk)(2)은 도 27에 나타낸 수학식(1)-3에 표현된 관측 값들(h)을 편미분함으로써 계산될 수도 있다.
확장형 칼만 필터의 일반식에 있어서의 잔차 공분산(Sk)(3)은, 제 1 포지션 획득부(401)로부터 출력된 오차 데이터인 다음의 관측 노이즈(행렬)(Rk), 측정 업데이트에서의 편미분 행렬(Hk), 전치행렬(Hk T), 및 현재의 잔차 공분산 행렬(Pk |k- 1)을 이용함으로써 계산될 수도 있다.
Figure 112015073326067-pct00016
여기서, r1은 x축 성분을 나타내고, r2는 y축 성분을 나타내고, r3은 z축 성분을 나타낸다.
확장형 칼만 필터의 일반식(도 28 참조)에 있어서의 칼만 이득(Kk)(4)은 현재의 오차 공분산 행렬(Pk |k-1), 전치 행렬(Hk T), 및 잔차 공분산의 역행렬(Sk - 1)로부터 계산될 수도 있다.
확장형 칼만 필터의 일반식(도 28 참조)에 있어서의 업데이트된 상태 추정 값들(5) 및 업데이트된 오차 공분산 행렬(Pk |k)(6)은 상기 언급된 절차에서 계산되었던 변수들을 사용하여 계산될 수도 있다.
제 1 측정 업데이트 계산부(502)는 물론, 제 2 측정 업데이트 계산부(503)는 확장형 칼만 필터의 측정 업데이트 절차를 실행하고, 관성 장치(1)의 현재 포지션 및 오차 데이터(505)를 계산 또는 업데이트할 수도 있다. 확장형 칼만 필터에서의 변수들은, 관측 값들(zk) 및 관측 노이즈(Rk)가 제 2 절대 포지션 획득부(402)로부터 출력되었던 절대 포지션 데이터 및 오차 데이터인 점을 제외하면, 제 1 측정 업데이트 계산부(502)에 의해 사용된 변수들과 유사하다.
제 1 측정 업데이트 계산부(502)는 물론, 제 3 측정 업데이트 계산부(504)는 확장형 칼만 필터의 측정 업데이트 절차를 실행하고, 관성 장치(1)의 현재 포지션 및 오차 데이터(505)를 계산 또는 업데이트할 수도 있다. 확장형 칼만 필터에서의 변수들은, 관측 값들(zk) 및 관측 노이즈(Rk)가, 후술되는 맵 매칭부(600)로부터 출력되었던 절대 포지션 데이터 및 오차 데이터인 점을 제외하면, 제 1 측정 업데이트 계산부(502)에 의해 사용된 변수들과 유사하다.
절대 포지션 추정부(500)는 확장형 칼만 필터의 프레임워크에 있어서 현재 포지션 및 오차 데이터(505)를 업데이트하고, 이에 의해, 현재 포지션을 큰 정확도로 추정할 수도 있다. 관성 장치(1)에 설치된 어플리케이션은 현재 포지션 및 오차 데이터(505)를 참조하고, 그리고 추정된 현재 포지션에 부가하여 관성 장치의 방향(헤딩 데이터 및 추정된 요 각 정보)을 획득할 수도 있다.
4.4 맵 매칭
맵 매칭부(600)는 맵 매칭 계산부(601)를 갖는다. 맵 매칭부(600)는 최신의 현재 포지션 및 오차 데이터(505) 그리고 속도 추정 벡터(316)를 획득하고, 맵 매칭 절차를 실행할 수도 있다.
맵 매칭 계산부(601)는 최신의 현재 포지션 및 오차 데이터(505) 그리고 속도 추정 벡터(316)를 획득하고, 미리 준비된 맵 데이터베이스(DB)(602)를 참조하고, 타겟이 보행하거나 진행할 수도 있는 영역을 나타내는 영역 데이터를 획득할 수도 있다. 다음으로, 맵 매칭 계산부(601)는 공지된 파티클 필터 알고리즘(비특허문헌 6 참조)을 사용함으로써 맵 매칭 절차를 실행할 수도 있다. 타겟이 보행 또는 진행 불가능할 수도 있는 영역 상에 현재 포지션이 있을 경우, 맵 매칭 계산부(601)는, 타겟이 보행 또는 진행할 수도 있는 영역에 있도록 현재 포지션을 정정할 수도 있다. 부가적으로, 맵 매칭 계산부(601)는 정정된 포지션에 대한 포지션 벡터의 각각의 성분의 오차량을 나타내는 오차 공분산 행렬(σm)을 계산할 수도 있다. 맵 매칭 계산부(601)는 정정된 포지션을 나타내는 포지션 벡터(Xm, Ym, Zm) 및 오차 공분산 행렬(σm)을 제3 측정 업데이트 계산부(504)로 전송할 수도 있다.
상기 논의된 바와 같이, 이 실시예에 따른 관성 장치(1)는 타겟의 모션 특성들을 나타내는 파라미터들(307-311)로부터 생성된 복수의 속도 파형들을 조합하고, 조합된 파형에 기초하여 속도를 계산한다. 파라미터들은 타겟의 특성들과 연관된 이후 데이터베이스에 저장된다. 속도 파형들 중 하나는 타겟 및 그 모션에 매칭하도록 생성된다. 부가적으로, 속도 파형을 나타내는 수학식들은 복수의 항들(모델들)에 의해 표현된다. 그 항들 각각은 그 항에 대한 신뢰도를 나타내는 가중치를 포함한다. 따라서, 높은 분해능 및 높은 신뢰도로 속도가 추정될 수도 있다.
부가적으로, 관성 장치(1)는 상대적 데이터인 속도 및 그 오차 데이터뿐 아니라 절대 포지션 데이터 및 그 오차 데이터도 사용함으로써 현재 포지션을 높은 정확도로 계산할 수도 있다. 더욱이, 관성 장치(1)는 맵 데이터베이스(602)로의 맵 매칭 절차를 이용하여 현재 포지션을 정정함으로써 현재 포지션에 대한 계산의 정확도를 개선시킬 수도 있다.
5. 속도 및 현재 포지션의 추정 결과
도 33 내지 도 37을 참조하여, 본 발명의 실시예에 따른 관성 장치(1)를 사용한 속도 및 현재 포지션에 대한 추정의 결과가 설명된다.
이 실시예에 따른 관성 장치(1)는 가속도 센서, 자이로 센서 및 자기장 센서를 갖는다. 부가적으로, 관성 장치(1)는 측위부로서 절대 포지션 데이터를 획득하기 위한 GPS/IMES 모듈 및 블루투스(TM) 모듈을 갖는다. 관성 장치(1)는, 상기 언급된 장치들을 갖는 스마트 폰의 형태인 모바일 단말기이다.
도 33은, 관성 장치(1)가 보행하는 사용자의 허리부에 장착될 경우에 추정된 속도의 결과를 도시한다. 도 34에 도시된 바와 같이, 사용자는 먼저 약 2미터 직진하고, 그 후, 90도 좌회전하며, 다시 직진한다. 도 33에서의 횡축은 경과시간(100 밀리초)을 나타내고, 종축은 속도(초당 미터)를 나타낸다. 도 33은 사용자가 보행하는 동안의 약 8초의 시간 윈도우를 도시한다. 시간 윈도우 내에서, 관성 장치(1)를 보유한 사용자는 7걸음을 보행한다.
도 33은 속도 파형 조합부(314)에 의해 조합된 수평 방향(즉, x 및 y 방향들)에서의 파형들을 도시한다. 그 파형은 방향 추정부(200)에 의해 획득된 방향, 주기, 진폭 등과 같은 파라미터들을 사용하여 속도 파형 생성부(312)에 의해 생성된 파형들로부터 조합된다. 도 33에 도시된 바와 같이, 관성 장치(1)는 보행 모션에 대한 속도를 높은 분해능(즉, 100 ms)으로 출력할 수도 있다.
도 34는, 관성 장치(1)가 보행하는 사용자의 허리부에 장착될 경우에 추정된 현재 포지션의 결과를 도시한다. 도 34에서의 점선을 갖는 화살표로 도시된 바와 같이, 사용자는 먼저 약 2미터 직진하고, 그 후, 90도 좌회전하며, 다시 직진한다. 도 34에 나타낸 원들은, 도 33에 도시된 속도 파형으로부터 획득된 현재 속도들에 기초하여 절대 포지션 추정부(500)에 의해 추정된 현재 포지션들의 이력을 나타낸다. 도 34에 도시된 바와 같이, 관성 장치(1)에 의해 추정된 현재 포지션들의 이력은 실제 보행 경로와 거의 대응한다.
도 35는 사용자가 관성 장치(1)를 자신의 손에 보유할 경우에 추정된 현재 포지션의 결과를 도시한다. 이 경우, 사용자는 시계방향으로 약 75미터(총 92걸음)를 보행한다. 보행 경로 상에서, IMES 를 통해 절대 포지션 데이터(위도 및 경도) 및 그 오차 데이터를 전송하는 2개의 포지션 데이터 송신기들(A 및 B)이 설치된다. 따라서, 관성 장치(1)는 포지션 데이터 송신기로부터 전송된 포지션 데이터 및 센서 데이터 양자에 기초하여 현재 포지션을 추정할 수도 있다.
도 35에 있어서, 점선은 사용자의 실제 보행 경로를 나타내고, 원들은 관성 장치(1)에 의해 획득된 현재 포지션들의 이력을 나타낸다. 도 35에 도시된 바와 같이, 관성 장치(1)는 현재 포지션을 높은 시간 분해능(즉, 100 ms)으로 추정하고 실제 보행에 대한 높은 정확도 추정을 달성할 수도 있다. 부가적으로, 시간 분해능은 파라미터들을 변경함으로써 구성가능하다.
도 36은 도 35에 도시된 결과 중, 보행을 위한 시작(또는 종료) 포인트 근방에서의 확대도이다. 도 36에 도시된 바와 같이, 종료 포인트 직전(즉, 관성 장치(1)가 포지션 데이터 송신기(A)로부터의 포지션 데이터를 이용하여 측정 업데이트 절차를 실행하기 전의 포지션)에 약 1m의 측정 에러가 관측된다. 이것은 다음의 이유로 발생한다.
(1) 속도 파형 조합부(314)에 의해 획득된 현재의 추정된 속도가 오차를 포함함.
(2) 그러한 오차가 추정된 속도에 대해 시간 업데이트 절차에서 축적됨.
그 결과는, 추정 오차는 허용가능 범위 내에 있음을 나타낸다.
도 37은 도 35에 도시된 바와 같이 보행 모션에서의 칼만 필터에 의해 추정된 측정 오차들의 변동을 도시한다. 관성 장치(1)는 속도 파형 조합부(314)로부터의 속도에 포함된 오차 및 현재 포지션의 오차를, 칼만 필터의 프레임워크에서의 오차 공분산 행렬로서 추정할 수도 있다. 도 37에 도시된 바와 같이, 칼만 필터에 의해 추정된 측정 오차들의 추정된 값들(오차 분산 행렬의 대각 성분에 대한 제곱들의 합의 평방근)은 사용자가 보행함에 따라 증가한다.
한편, 관성 장치(1)가 포지션 데이터 송신기로부터 절대 포지션 데이터 및 오차 데이터를 수신할 수도 있을 경우, 관성 장치(1)는 포지션 데이터 송신기의 측위 수단에 대한 측정 오차와, 현재 포지션에 대한 칼만 필터에 의해 추정된 측정 오차의 추정된 값을 비교한다. 다음으로, 관성 장치(1)는, 오차 공분산 행렬에서의 공분산 값들이 작게 되도록 현재 포지션의 추정된 값을 정정한다. 도 37에 도시된 바와 같이, 관성 장치(1)가 포지션 데이터 송신기들(A 및 B)로부터의 데이터를 사용하여 측정 업데이트 절차들을 실행할 경우, 칼만 필터에 의해 추정된 측정 오차의 추정된 값은 감소한다. 결과적으로, 관성 장치(1)는 외부 장치로부터 획득된 절대 포지션 데이터 및 오차 데이터를 이용하여, 추정된 현재 포지션을 정정하며 포지션을 추정하기 위한 정밀도를 개선시킬 수도 있다.
다시 도 36을 참조하면, 사용자가 보행을 종료하기 직전에 절대 포지션 데이터 입력부에서 기반된 측정 업데이트 절차를 실행함으로써, 축적된 측정 오차들이 정정되고 그리고 현재 포지션이 정확한 포지션(보행의 종료 포인트)으로 수정됨이 관측된다.
상기 논의된 바와 같이, 본 실시예에 따른 관성 장치(1)는 사용자의 현재 포지션의 추정을 위한 분해능 및 정확도를 개선시킨다. 결과적으로, 사용자로 하여금 임의의 형태로 장치를 보유할 수 있게 하는 편리한 관성 장치 및 관성 네비게이션 기술이 달성된다.
상기 논의된 실시예에 있어서, 실시예에서 설명된 각각의 장치에서 실행되는 프로그램들은 CD-ROM, 플렉시블 디스크(FD), CD-R, 또는 디지털 다기능 디스크(DVD)와 같은 컴퓨터 판독가능 기록 매체 상에 설치가능 형태로 또는 실행가능 형태로 있을 수도 있다.
실시예에 따라 각각의 장치 상에서 실행되는 프로그램들은 인터넷과 같은 네트워크에 접속된 컴퓨터 상에 저장될 수도 있고, 네트워크를 통한 다운로딩에 의해 제공될 수도 있다. 실시예에 따라 각각의 장치 상에서 실행되는 프로그램은 인터넷과 같은 네트워크를 사용하여 제공 또는 분배될 수도 있다.
대안적으로, 실시예에 따라 각각의 장치 상에서 실행되는 프로그램들은 ROM에 미리 저장되고 제공될 수도 있다.
상기 언급된 관성 장치, 방법, 및 프로그램은 상기 실시예들로 한정되지 않으며, 본 발명의 범위로부터 일탈함없이 다양한 변동들 및 변형들이 행해질 수도 있다. 부가적으로, 상기 언급된 임의의 엘리먼트들을 조합함으로써 다양한 발명들을 형성하는 것이 가능하다.
본 출원은 2013년 2월 4일자로 출원된 일본 특허출원 제2013-019210호, 및 2013년 11월 6일자로 출원된 일본 특허출원 제2013-230548호에 기초하고 그 출원들의 우선권의 이익을 주장하며, 그 출원들의 전체 내용들은 본 명세서에 참조로 통합된다.
[선행기술문헌]
특허문헌
[특허문헌1] 일본 특허공개공보 제2012-088253호
[특허문헌2] 일본 특허 제4714853호
[특허문헌3] 일본 특허공개공보 제2003-302419호
[특허문헌4] 일본 특허공개공보 제2011-237452호
[특허문헌5] 일본 특허공개공보 제2000-97722호
[특허문헌6] 일본 특허공개공보 제2002-139340호
비특허문헌
[비특허문헌1] Greg Welch and Gary Bishop, "An Introduction to the Kalman Filter", Department of Computer Science, University of North Carolina at Chapel Hill, 7/24/2006
[비특허문헌2] Tohru Katayama, "Applied Kalman Filtering, New Edition", Asakura Bookshop, 1/20/2000
[비특허문헌3] Wei Tech Ang et al., "Kalman filtering for real-time orientation tracking of handheld microsurgical instrument", Intelligent Robots and Systems, 2004 (IROS 2004). Proceedings. 2004 IEEE/RSJ International Conference, 9/28/2004, Volume 3, p.2574-2580 vol.3
[비특허문헌4] Malcolm D. Shuster, "Deterministic Three-Axis Attitude Determination", The Journal of the Astronautical Sciences, July 2004, Volume 52, No. 3, p.405-419
[비특허문헌5] "TRIAD Algorithm", [online] 5/25/2011, Wikipedia, Internet, <URL : http://en.wikipedia.org/wiki/User: Snietfeld/TRIA D_Algorithm>
[비특허문헌6] I. M. Rekleitis, "A particle filter tutorial for mobile robot localization", Technical Report TR-CIM-04-02, Centre for Intelligent Machines, McGill University, 2004

Claims (11)

  1. 관성 장치로서,
    상기 관성 장치를 보유하는 타겟의 모션을 표현하는 출력을 생성하도록 구성된 관성 센서부;
    각각, 상기 관성 센서부에 의해 생성될 상이한 출력들과 연관되는 팩터들(factors)을 저장하도록 구성된 저장부;
    상기 관성 센서부에 의해 생성된 출력에 대응하는 팩터들 중 하나를 사용함으로써 미리 결정된 기간에서 상기 관성 장치의 속도의 변동을 표현하는 파형을 생성하도록 구성된 생성부;
    상기 생성부에 의해 생성되었던 하나 이상의 이전의 파형들과 상기 파형을 조합하도록 구성된 조합부; 및
    상기 조합된 파형으로부터 획득된 속도를 사용하여 상기 관성 장치가 현재 위치된 포지션(position)을 추정하도록 구성된 추정부를 포함하는, 관성 장치.
  2. 제 1 항에 있어서,
    상기 팩터들은 또한 상기 관성 장치를 보유하는 타겟의 속성들과 연관되고,
    상기 생성부는 상기 관성 센서부에 의해 생성된 출력 및 상기 관성 장치를 보유하는 타겟의 속성들 중 하나의 속성 양자에 대응하는 팩터들 중 하나를 사용하여 파형을 생성하는 것인, 관성 장치.
  3. 제 1 항에 있어서,
    상기 출력은 수평 방향에서의 속도; 수직 방향에서의 가속도; 진행 모션의 주기; 상기 관성 장치의 진행 방향; 및 상기 진행 방향에 대한 좌우로의 진행 모션의 진폭 중 적어도 하나를 포함하는 것인, 관성 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 추정부는 상기 속도 및 상기 속도를 계산함에 있어서 오차의 정도를 표현하는 주어진 오차 데이터 양자를 사용하여 상기 관성 장치가 현재 위치된 포지션을 추정하는 것인, 관성 장치.
  5. 제 4 항에 있어서,
    포지션 데이터 송신기로부터 수신된 절대 포지션 데이터, 및 상기 절대 포지션 데이터의 오차 데이터를 상기 추정부에 입력하도록 구성된 입력부를 더 포함하고,
    상기 추정부는 상기 절대 포지션 데이터 및 상기 절대 포지션 데이터의 오차 데이터를 이용하여 상기 추정된 포지션을 업데이트하는 것인, 관성 장치.
  6. 제 5 항에 있어서,
    상기 절대 포지션 데이터를 수신하기 위한 간격을 측정하도록 구성된 측정부; 및
    상기 측정된 간격에 따라 상기 절대 포지션 데이터의 오차 데이터를 정정하도록 구성된 정정부를 더 포함하는, 관성 장치.
  7. 제 5 항에 있어서,
    상기 입력부는 서로 상이한 통신 방법들을 채용하는 다른 포지션 데이터 송신기들로부터 수신된 다른 절대 포지션 데이터, 및 상기 다른 절대 포지션 데이터의 오차 데이터를 상기 추정부에 입력하는 것인, 관성 장치.
  8. 제 7 항에 있어서,
    상기 입력부는 실내 메시징 시스템(Indoor Messaging System; IMES) 표준에 부합하는 통신을 통해 상기 다른 포지션 데이터 송신기들 중 하나로부터 수신된 다른 절대 포지션 데이터를 입력하는 것인, 관성 장치.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 타겟이 진입하도록 허용된 허용 영역들 및 상기 타겟이 진입하도록 허용되지 않은 금지 영역들을 정의하는 맵(map)에 상기 추정된 포지션을 매칭하고, 상기 추정된 포지션이 상기 금지 영역들에 있을 경우에 상기 포지션을 정정하도록 구성된 맵 매칭부를 더 포함하고,
    상기 추정부는 상기 정정된 포지션에 따라 상기 추정된 포지션을 업데이트하는 것인, 관성 장치.
  10. 삭제
  11. 프로그램을 저장한 컴퓨터 판독가능 기록 매체로서,
    상기 프로그램은 관성 장치로 하여금,
    관성 센서를 사용하여 상기 관성 장치를 보유하는 타겟의 모션을 표현하는 출력을 생성하는 단계;
    상기 출력에 대응하는 팩터들 중 하나를 사용함으로써 미리 결정된 기간에서 상기 관성 장치의 속도의 변동을 표현하는 파형을 생성하는 단계로서, 상기 팩터들은 상기 관성 센서에 의해 생성될 상이한 출력들과 연관되는 것인, 상기 파형을 생성하는 단계;
    상기 파형을 생성하는 단계에서 생성되었던 하나 이상의 이전의 파형들과 상기 파형을 조합하는 단계; 및
    상기 조합된 파형으로부터 획득된 속도를 사용하여 상기 관성 장치가 현재 위치된 포지션을 추정하는 단계
    를 포함하는 방법을 수행하게 하기 위한 것인, 컴퓨터 판독가능 기록 매체.
KR1020157020541A 2013-02-04 2014-01-30 관성 장치, 방법, 및 프로그램 KR101732835B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2013019210 2013-02-04
JPJP-P-2013-019210 2013-02-04
JP2013230548A JP6268945B2 (ja) 2013-02-04 2013-11-06 慣性装置、方法及びプログラム
JPJP-P-2013-230548 2013-11-06
PCT/JP2014/052706 WO2014119801A1 (en) 2013-02-04 2014-01-30 Inertial device, method, and program

Publications (2)

Publication Number Publication Date
KR20150099864A KR20150099864A (ko) 2015-09-01
KR101732835B1 true KR101732835B1 (ko) 2017-05-04

Family

ID=51262499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157020541A KR101732835B1 (ko) 2013-02-04 2014-01-30 관성 장치, 방법, 및 프로그램

Country Status (7)

Country Link
US (1) US20150330791A1 (ko)
EP (1) EP2951529B1 (ko)
JP (1) JP6268945B2 (ko)
KR (1) KR101732835B1 (ko)
CN (1) CN104969030B (ko)
TW (1) TWI490497B (ko)
WO (1) WO2014119801A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10304138B2 (en) 2014-05-15 2019-05-28 State Farm Mutual Automobile Insurance Company System and method for identifying primary and secondary movement using spectral domain analysis
US9127946B1 (en) * 2014-05-15 2015-09-08 State Farm Mutual Automobile Insurance Company System and method for identifying heading of a moving vehicle using accelerometer data
US10019762B2 (en) 2014-05-15 2018-07-10 State Farm Mutual Automobile Insurance Company System and method for identifying idling times of a vehicle using accelerometer data
JP2016033473A (ja) * 2014-07-31 2016-03-10 セイコーエプソン株式会社 位置算出方法及び位置算出装置
JP6476925B2 (ja) * 2015-01-30 2019-03-06 カシオ計算機株式会社 情報処理装置、位置更新方法及びプログラム
US10393540B2 (en) 2015-06-26 2019-08-27 Intel Corporation Technologies for pedestrian dead reckoning
US10408627B2 (en) 2015-11-30 2019-09-10 Ricoh Company, Ltd. Inertial device to estimate position based on corrected movement velocity
JPWO2017150162A1 (ja) * 2016-03-01 2018-12-20 株式会社リコー 位置推定装置、位置推定方法、及びプログラム
JP6804908B2 (ja) * 2016-09-13 2020-12-23 株式会社東芝 推定装置、推定方法及びコンピュータプログラム
US10330479B2 (en) * 2016-09-20 2019-06-25 Trimble Inc. Vehicle navigation by dead reckoning and GNSS-aided map-matching
US10323942B2 (en) * 2016-09-23 2019-06-18 Qualcomm Incorporated User-specific learning for improved pedestrian motion modeling in a mobile device
KR101941009B1 (ko) * 2016-09-28 2019-01-22 광주과학기술원 자세추정 시스템 및 자세 추정 시스템을 포함하는 무인 이동 장치
KR101916908B1 (ko) * 2016-09-28 2018-11-08 광주과학기술원 위치 추정 시스템 및 위치 추정 시스템을 포함하는 무인 이동 장치
CN108537094B (zh) * 2017-03-03 2022-11-22 株式会社理光 图像处理方法、装置和系统
CN107121128B (zh) * 2017-05-27 2022-04-05 中国北方车辆研究所 一种足式机器人地形参数的测量方法及系统
JP6686985B2 (ja) * 2017-08-03 2020-04-22 カシオ計算機株式会社 軌跡推定装置、軌跡推定方法及び軌跡推定プログラム
JP2019148586A (ja) * 2018-02-27 2019-09-05 シャープ株式会社 位置計測装置、位置補正方法、及び位置情報取得システム
JP7059114B2 (ja) * 2018-06-15 2022-04-25 株式会社東芝 位置計測装置および位置計測方法
KR102177663B1 (ko) * 2019-04-02 2020-11-11 주식회사 로터스에코 제로 크로싱 최소화를 위한 쿼터니언 분해 방법 및 그를 위한 장치
CN111174780B (zh) * 2019-12-31 2022-03-08 同济大学 盲人道路惯导定位系统
CN112033439B (zh) * 2020-08-20 2022-08-12 哈尔滨工业大学 一种摇摆基座地球系下重力加速度矢量无纬度构建方法
CN112461237B (zh) * 2020-11-26 2023-03-14 浙江同善人工智能技术有限公司 一种应用于动态变化场景下的多传感器融合定位方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002139340A (ja) 2000-10-30 2002-05-17 Atr Media Integration & Communications Res Lab 歩行航行装置およびそれを用いたナビゲーションシステム
JP2006177749A (ja) 2004-12-22 2006-07-06 Ritsumeikan 周期運動体の移動軌跡算出方法及び装置
JP2011237452A (ja) 2011-08-15 2011-11-24 Hitachi Ltd 物体の進行方向検知方法、位置検知方法、進行方向検知装置、位置検知装置、移動動態認識方法及び移動動態認識装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5610847A (en) * 1994-10-28 1997-03-11 Cadence Design Systems, Inc. Ratiometric fourier analyzer
JP3505040B2 (ja) * 1996-07-11 2004-03-08 株式会社リコー 携帯型情報処理装置
US6826477B2 (en) * 2001-04-23 2004-11-30 Ecole Polytechnique Federale De Lausanne (Epfl) Pedestrian navigation method and apparatus operative in a dead reckoning mode
JP3801163B2 (ja) * 2003-03-07 2006-07-26 セイコーエプソン株式会社 体動検出装置、ピッチ計、歩数計、腕時計型情報処理装置、制御方法及び制御プログラム
JP2009115714A (ja) * 2007-11-08 2009-05-28 Tottori Univ 移動体の速度測定方法および同測定装置
CN100595520C (zh) * 2008-02-21 2010-03-24 上海交通大学 适用于步行者的定位方法
JP4885922B2 (ja) * 2008-08-27 2012-02-29 京セラ株式会社 携帯電子機器
EP2309704A4 (en) * 2008-07-29 2011-12-14 Kyocera Corp PORTABLE ELECTRONIC DEVICE
TWI457793B (zh) * 2008-08-08 2014-10-21 Ind Tech Res Inst 即時動作辨識方法及其慣性感測與軌跡重建裝置
JP2011102707A (ja) * 2009-11-10 2011-05-26 Seiko Epson Corp 測位装置及び測位方法
JP2012037452A (ja) * 2010-08-10 2012-02-23 Panasonic Corp 歩行方位検出装置および歩行方位検出方法
CN102184549B (zh) * 2011-04-29 2012-10-10 闫文闻 一种运动参数确定方法、装置和运动辅助设备
CN102252676B (zh) * 2011-05-06 2014-03-12 微迈森惯性技术开发(北京)有限公司 运动姿态数据获取、人体运动姿态追踪方法及相关设备
TWI435057B (zh) * 2011-06-23 2014-04-21 Automotive Res & Testing Ct Method and apparatus for learning correction of vehicle dynamic inertial sensor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002139340A (ja) 2000-10-30 2002-05-17 Atr Media Integration & Communications Res Lab 歩行航行装置およびそれを用いたナビゲーションシステム
JP2006177749A (ja) 2004-12-22 2006-07-06 Ritsumeikan 周期運動体の移動軌跡算出方法及び装置
JP2011237452A (ja) 2011-08-15 2011-11-24 Hitachi Ltd 物体の進行方向検知方法、位置検知方法、進行方向検知装置、位置検知装置、移動動態認識方法及び移動動態認識装置

Also Published As

Publication number Publication date
WO2014119801A1 (en) 2014-08-07
US20150330791A1 (en) 2015-11-19
EP2951529B1 (en) 2021-03-10
CN104969030A (zh) 2015-10-07
CN104969030B (zh) 2017-06-30
JP6268945B2 (ja) 2018-01-31
EP2951529A4 (en) 2016-01-27
EP2951529A1 (en) 2015-12-09
TW201439542A (zh) 2014-10-16
KR20150099864A (ko) 2015-09-01
JP2014167461A (ja) 2014-09-11
TWI490497B (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
KR101732835B1 (ko) 관성 장치, 방법, 및 프로그램
JP6322960B2 (ja) 慣性装置、方法及びプログラム
US10408627B2 (en) Inertial device to estimate position based on corrected movement velocity
Fourati Heterogeneous data fusion algorithm for pedestrian navigation via foot-mounted inertial measurement unit and complementary filter
JP6852310B2 (ja) 慣性装置、プログラム、測位方法
Aggarwal MEMS-based integrated navigation
EP2740256B1 (en) Moving direction determination with noisy signals from inertial navigation systems on mobile devices
JP5704561B2 (ja) 進行方向推定装置、携帯端末、制御プログラム、コンピュータ読み取り可能な記録媒体、および進行方向推定方法
US11002547B2 (en) Method for determining the orientation of a sensor frame of reference tied to a mobile terminal carried or worn by a user
US20100250177A1 (en) Orientation measurement of an object
US11035915B2 (en) Method and system for magnetic fingerprinting
KR20180039094A (ko) 속도 추정
Tarrío et al. Fusion of RSS and inertial measurements for calibration-free indoor pedestrian tracking
EP3227634B1 (en) Method and system for estimating relative angle between headings
TWI687705B (zh) 用於跟蹤和確定物體位置的方法和系統
KR101301462B1 (ko) 저가형 관성 센서를 이용한 보행자 관성 항법 장치 및 그 항법
Sang et al. A self-developed indoor three-dimensional pedestrian localization platform based on MEMS sensors
TW498170B (en) Self-contained/interruption-free positioning method and system thereof
Gao et al. Data fusion with two nonlinear constraints on Kalman filtering
CN110579212B (zh) 室内定位方法及装置
JP7059114B2 (ja) 位置計測装置および位置計測方法
CA3147712A1 (en) Apparatus and associated methods for step length estimation
Huang Self-Contained Pedestrian Tracking With Mems Sensors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant