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

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

Info

Publication number
KR20150099863A
KR20150099863A KR1020157020535A KR20157020535A KR20150099863A KR 20150099863 A KR20150099863 A KR 20150099863A KR 1020157020535 A KR1020157020535 A KR 1020157020535A KR 20157020535 A KR20157020535 A KR 20157020535A KR 20150099863 A KR20150099863 A KR 20150099863A
Authority
KR
South Korea
Prior art keywords
acceleration
unit
inertial device
output
sensor
Prior art date
Application number
KR1020157020535A
Other languages
English (en)
Inventor
유스케 마츠시타
Original Assignee
가부시키가이샤 리코
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 리코 filed Critical 가부시키가이샤 리코
Publication of KR20150099863A publication Critical patent/KR20150099863A/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/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
    • 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/185Compensation of inertial measurements, e.g. for temperature effects for gravity
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/49Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Indicating Or Recording The Presence, Absence, Or Direction Of Movement (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

수평 방향과 수직 방향으로의 가속도들을 출력하도록 동작가능한 센서들을 갖는 관성 장치가 개시되며, 상기 관성 장치는, 시간에 대한 수직 방향으로의 가속도를 표현하는 파형에서의 전환점(turning point)을 검출하고 이 전환점에서의 시간을 검출하도록 구성된 검출 유닛과; 상기 전환점에서의 시간을 중심으로 하는 미리결정된 기간 내에 상기 수평 방향으로의 가속도를 이용하여 상기 수평 방향으로의 속도를 산출하도록 구성된 산출 유닛과; 상기 속도가 문턱값 이하인지 여부를 결정하도록 구성된 결정 유닛과; 상기 속도가 상기 문턱값 이하라는 상기 결정 유닛에 의한 결정에 응답하여 상기 속도를 이용하여 상기 관성 장치를 갖는 타겟이 이동하는 방향을 추정하도록 구성된 추정 유닛을 포함한다.

Description

관성 장치, 방법, 및 프로그램{INERTIAL DEVICE, METHOD, AND PROGRAM}
본 발명개시의 양태는 관성 장치, 방법, 및 프로그램에 관한 것이다.
건축물 또는 지하와 같이, 위치를 측정하기 위해 GPS(Global Positioning System)를 이용할 수 없는 장소에서는, 가속도 센서와 자기장 센서를 포함하는 관성 장치를 통해 보행자의 위치를 추정하기 위해 보행자 관성 항법(PDR; Pedestrian Dead Reckoning) 기술이 이용된다.
PDR을 이용한 종래의 방법은 관성 장치를 사용자의 몸체에 부착 및 고정시켜서 관성 장치의 움직임을 제한시킨 후 관성 장치에서 실행된 연산들에 의해 진행 방향 및 진행 위치를 추정한다(특허 문헌 1 내지 특허 문헌 4).
한편, 관성 장치를 사용자의 몸체에 부착 및 고정하지 않는 대신에 고성능 관성 센서(예컨대, 가속도 센서, 각속도 센서(자이로스코프), 자기장 센서 등)로부터 획득한 데이터를 이용한 고부하 연산에 의해 진행 방향 및 진행 위치를 추정하는 종래의 방법도 존재한다(특허 문헌 5와 특허 문헌 6). 이러한 연산은 진행 방향을 추정하기 위해 센서에 의해 획득된 가속도 또는 각속도를 이용하는 푸리에 변환(Fourier transformation; FT) 또는 주성분 분석을 포함한다.
그러나, 종래의 관성 장치는 타겟(예컨대, 사용자)에 고정될 필요가 있었기 때문에 불편하다. 또한, 고정될 필요가 없는 관성 장치는 고성능이어야 하기 때문에, 이러한 관성 장치는 고가일 경향이 높고, 관성 장치를 소형화하기가 어렵다.
하나의 양태에서, 본 발명개시는 관련 기술의 한계들과 단점들에 의해 야기된 하나 이상의 문제점들을 실질적으로 제거시키는 관성 장치, 방법, 및 프로그램을 제공한다.
본 발명개시의 양태에서는, 수평 방향과 수직 방향으로의 가속도들을 출력하도록 동작가능한 가속도 센서를 갖는 관성 장치를 제공하며, 관성 장치는, 시간에 대한 수직 방향으로의 가속도를 표현하는 파형에서의 전환점을 검출하고 이 전환점에서의 시간을 검출하도록 구성된 검출 유닛과; 상기 전환점에서의 시간을 중심으로 하는 미리결정된 기간 내에 상기 수평 방향으로의 가속도를 이용하여 수평 방향으로의 속도를 산출하도록 구성된 산출 유닛과; 상기 속도가 문턱값 이하인지 여부를 결정하도록 구성된 결정 유닛과; 상기 속도가 문턱값 이하라는 상기 결정 유닛에 의한 결정에 응답하여 상기 속도를 이용하여 상기 관성 장치를 갖는 타겟이 이동하는 방향을 추정하도록 구성된 추정 유닛을 포함한다.
본 발명의 다른 실시예에 따르면, 수평 방향과 수직 방향으로의 가속도들을 출력하도록 동작가능한 가속도 센서를 갖는 관성 장치에 의해 수행되는 방법을 제공하며, 본 방법은, 시간에 대한 수직 방향으로의 가속도를 표현하는 파형에서의 전환점을 검출하고 이 전환점에서의 시간을 검출하는 단계와; 상기 전환점에서의 시간을 중심으로 하는 미리결정된 기간 내에 상기 수평 방향으로의 가속도를 이용하여 수평 방향으로의 속도를 산출하는 단계와; 상기 속도가 문턱값 이하인지 여부를 결정하는 단계와; 상기 속도가 문턱값 이하라는 결정에 응답하여 상기 속도를 이용하여 상기 관성 장치를 갖는 타겟이 이동하는 방향을 추정하는 단계를 포함한다.
본 발명의 다른 실시예에 따르면, 수평 방향과 수직 방향으로의 가속도들을 출력하도록 동작가능한 가속도 센서를 갖는 관성 장치로 하여금 방법을 수행하게 하는 프로그램을 제공하며, 상기 방법은, 시간에 대한 수직 방향으로의 가속도를 표현하는 파형에서의 전환점을 검출하고 이 전환점에서의 시간을 검출하는 단계와; 상기 전환점에서의 시간을 중심으로 하는 미리결정된 기간 내에 상기 수평 방향으로의 가속도를 이용하여 수평 방향으로의 속도를 산출하는 단계와; 상기 속도가 문턱값 이하인지 여부를 결정하는 단계와; 상기 속도가 문턱값 이하라는 결정에 응답하여 상기 속도를 이용하여 상기 관성 장치를 갖는 타겟이 이동하는 방향을 추정하는 단계를 포함한다.
도 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는 다양한 장치 소지 위치들에서의 진행 방향들의 추정 결과를 나타내는 도면이다.
여기서는 예시적인 실시예들을 참조하여 본 발명을 설명할 것이다. 많은 대안적인 실시예들이 본 발명의 교시를 이용하여 달성될 수 있다는 것과 본 발명은 예시적인 목적으로 설명된 실시예들로 한정되지 않는다는 것을 본 발명분야의 당업자는 알 것이다.
도면들의 설명에서, 동일한 컴포넌트들에는 동일한 참조 번호들이 주어지며, 이들의 설명은 반복되지 않는다는 점을 유념한다.
1. 개관
도 1은 본 발명의 실시예에 따른 관성 장치의 개관을 나타내는 도면이다. 도 1은 관성 장치(1)를 소지한 사용자가 보행하는 모습을 도시한다. 본원에서는, 사용자가 보행하는 방향을 x축으로서 표시하고, x축과 수직하며 지상에 대해 평행한 방향을 y축으로서 표시하며, x축과 y축 둘 다에 수직한 방향을 z축으로서 표시한다.
관성 장치(1)는 휴대형이며 사용자에 의해 운반되어질 수 있다(예를 들어, 휴대 전화, 스마트폰, 개인 보조 단말기(PDA) 또는 노트북 PC). 관성 장치(1)는 통상적인 스마트폰에서 구현되는 관성 센서들(예컨대, 가속도 센서, 각속도 센서, 자기장 센서 등)을 갖는다. 관성 장치(1)는 관성 장치(1)의 방향 및, 가속도와 각속도의 변화를 검출할 수 있다.
본 발명의 실시예에 따른 관성 장치(1)는 필요한 바에 따라, 3개 축 상의 가속도(3 축 가속도)와, 3개 축 상의 각속도(3 축 각속도)와, 3개 축 상의 자기장의 세기(3 축 자기장 세기)를 포함하는 센서 데이터를 획득할 수 있다. 좌표계는 장치 또는 센서 유형에 좌우되며, 이것을 "장치 좌표계"라고 부른다. 따라서, 장치 좌표계로 획득된 측정값들은 절대 좌표계로 변환된다.
관성 장치(1)는 절대 좌표계에서 변환 가속도(벡터)를 획득할 수 있다. 구체적으로, 관성 장치(1)는 좌표계를 변환시키고 변환된 센서 데이터로부터 중력 성분을 제거함으로써, 센서 데이터로부터 가속도(3축 변환 가속도)의 수직 성분과 수평 성분을 획득할 수 있다. 관성 장치(1)는 필요에 따라 획득되어 저장된 3축 변환 가속도의 수직 방향으로의 변환 가속도의 변화를 나타내는 파형들을 이용하여 타겟의 한쪽 축 발(pivot foot)이 지상에 닿은 후 다른 쪽 발이 그 축 발을 지나칠 때의 시간을 식별할 수 있다. 이 시간은 파형에서 최저 전환점(최저 피크)이 도시될 때의 시간을 표시하기 때문에, 이 시간을 "피크 시간" 또는 "피크 위치"라고 부른다.
다음으로, 관성 장치(1)는 피크 위치를 중심으로 한 미리결정된 기간 내에서의 변환 가속도의 수평 성분을 적분할 수 있다. 여기서, 산출된 값들을 "변환 속도의 수평 성분 벡터"라고 부른다. 관성 장치(1)는 산출된 변환 속도의 수평 성분 벡터와, 타겟의 이동 동작의 사이클과, 변환 가속도의 수직 성분의 피크 값 또는 피크 진폭(수직 방향으로의 피크 가속도의 값)을 이용하여 획득된 데이터가 타겟의 실제 보행 동작(또는 진행 운동)을 나타내는 것인지의 여부를 결정할 수 있다. 여기서, 타겟의 이동 운동의 사이클을 "이동 사이클"이라고 부른다. 이동 사이클의 예시는 사람의 보행 사이클이다. 또한, 타겟의 실제 보행 동작 또는 진행 운동을 단순히 "보행 동작"(단, "보행" 이외의 다른 운동들도 포함함)으로서 표현한다.
다음으로, 데이터가 실제 보행 동작으로부터 유래된 것이라고 관성 장치(1)가 결정한 경우에는, 관성 장치(1)는 데이터가 획득된 시점 전후의 변환 속도의 수평 성분 벡터들을 합성할 수 있고, 관성 장치(1)는 사용자가 스텝(step)을 밟았다는 것을 표시하는 진행 방향 벡터를 필요에 따라 산출할 수 있다. 이어서, 관성 장치(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), BluetoothTM 통신 모듈(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을 통해 연결된 다른 장치들과 통신할 수 있다. BluetoothTM 통신 모듈(20)은 블루투스 프로토콜들을 이용하여 다른 장치들과 통신할 수 있다. GPS 수신기 모듈(21)은 GPS 위성 또는 IMES(Indoor Messaging System)로부터 송신되는 측위(positioning) 신호들을 수신할 수 있다.
디스플레이(22)는 사용자에게 스크린을 제공할 수 있다. 터치 패널(23)은 사용자로부터의 입력을 받아들일 수 있다. 배터리(24)는 관성 장치(1)에게 전력을 공급할 수 있다. 버스(26)는 (배터리(24)를 제외하고) 위에서 언급한 장치들을 서로 연결시킬 수 있다.
마이크로폰(17), 스피커(18), 통신 모듈(19), BluetoothTM 통신 모듈(20), GPS 수신기 모듈(21), 디스플레이(22), 터치 패널(23) 및 기압 센서(25)는 관성 장치(1)에 대한 택일적인 구성요소들이다. 예를 들어, 관성 장치(1)가 디스플레이 스크린을 갖지 않는 건강 모니터로서 구현되는 경우에는, 관성 장치(1)는 이러한 컴포넌트 모듈들을 가질 필요가 없다.
대안적으로, 관성 장치(1)는 BluetoothTM 통신 모듈(20) 대신에 다른 통신 프로토콜들에 따른 통신 장치(예를 들어, ZigBeeTM)를 가질 수 있다.
3. 기능들
도 3은 관성 장치(1)를 위한 기능 구성의 블록도이다. 관성 장치(1)의 기능들은 "좌표계 변경" 기능과 "진행 방향 추정" 기능으로 대략적으로 나누어질 수 있다.
3.1. 좌표계 변경
관성 장치(1) 상에서 좌표계 변환을 수행하는 좌표계 변환 유닛(100)은 가속도 취득 유닛(101)과, 각속도 취득 유닛(102)과, 자기장 취득 유닛(103)과, 자세 산출 유닛(104)과, 자기장 신뢰성 평가 유닛(105)과, 절대 가속도 변환 유닛(107)을 갖는다. 좌표계 변환 유닛(100)은 가속도 센서(104)로부터 취득된 장치 좌표계에서의 3축 가속도를 절대 좌표계에서의 절대 가속도로 변환시킬 수 있다.
절대 좌표계는 다양한 종류의 센서들에 의해 측정된 좌표값들을 처리하기 위해 이용되는데, 이것에는 GPS에 의해 이용되는 WGS84(World Geodetic System 1984)와 UTM (Universal Transverse Mercator Coordinate) 좌표계와 같은 직교 좌표계가 있다. 따라서, 절대 좌표계에서, 타겟의 위치 또는 방향은 공간 내 고정된 원점으로부터의 거리 관계에 의해 표현될 수 있다. 절대 좌표계는 "세계 좌표계"라고 불리운다. 한편, 장치 좌표계는 "몸체 좌표계"라고 불리워지는데, 이것은 관성 장치(1) 내의 한점에서의 원점과 서로 직교하는 3개 축들(즉, X축, Y축, 및 Z축)을 정의한다.
가속도 취득 유닛(101)은 가속도 센서(14)에 의해 검출된 3축 가속도의 변화를 취득할 수 있다.
각속도 취득 유닛(102)은 각속도 센서(15)에 의해 검출된 3축 각속도의 변화를 획득할 수 있다. 여기서, 각속도는 가속도와 마찬가지로, 장치 좌표계로 취득될 수 있다.
자기장 취득 유닛(103)은 자북을 가리키는 3차원 자기장 벡터를 취득할 수 있으며, 이러한 벡터는 자기장 센서(106)에 의해 검출된다. 이러한 방식으로, 자기장 취득 유닛(103)은 관성 장치(1)의 방향을 얻을 수 있다. 여기서, 이러한 방향은 가속도와 마찬가지로, 장치 좌표계로 취득될 수 있다.
자세 산출 유닛(104)은 가속도 취득 유닛(101), 각속도 취득 유닛(102) 및 자기장 취득 유닛(103)에 의해 획득된 센서 데이터를 이용하여 관성 장치(1)의 현재 자세를 산출하고, 자세 산출 유닛(104)은 산출된 자세 데이터(회전 행렬)에 대한 역행렬 연산에 의해 역 회전 행렬(106)을 산출할 수 있다.
자기장 취득 유닛(103)에 의해 획득된 데이터는 실내 환경 내에서의 환경 자기장으로 인해 비신뢰적일 수 있다. 따라서, 자세 산출 유닛(104)은 (후술하는) 자기장 신뢰성 평가 유닛(105)이 데이터가 신뢰할 수 있다고 결정하는 경우에만 자기장 취득 유닛(103)에 의해 획득된 데이터를 이용할 수 있다.
자세 산출 유닛(104)은 본 업계에서 일반적으로 이용하는 확장 칼만 필터(비 특허 문헌 1, 비 특허 문헌 2, 도 17과 도 18을 참조하라)를 이용하여 관성 장치(1)의 자세를 나타내는 행렬을 산출할 수 있고, 자세 산출 유닛(104)은 이 행렬에 대한 역행렬을 출력할 수 있다. 상세한 프로시저들을 아래에서 설명한다.
확장 칼만 필터의 일반 수학식들
도 17은 확장 칼만 필터의 수학식을 나타내는 도면이다. 칼만 필터의 계산에서는, 시간 스텝을 진행하기 위해 "시간 업데이트"와 "측정 업데이트" 프로시저들이 실행된다. 시간 업데이트 프로시저에서, 현재 시간에서의 추정 상태는 이전 시간에서의 추정 상태로부터 산출된다. 관측 업데이트 프로시저에서는, 추정된 값들이 현재 시간에서의 관측을 이용하여 보정되므로, 보다 정확한 상태를 추정할 수 있다. 이러한 프로시저들을 반복함으로써, 최적의 상태 변수들이 추정된다.
도 18은 시간 업데이트 프로시저에서 이용되는 변수들을 나타내는 도면이다(종래 기술). 도 17에서 도시된 "시간 업데이트"라고 칭해진 프레임 내의 수학식들 (1) ~ (3)에 대응하는 변수들을 설명한다. 여기서, "k"는 이산적인 스텝 시간을 나타내며, "k-1"은 이전의 스텝에서의 시간을 나타낸다.
도 19는 측정 업데이트 프로시저에서 이용되는 변수들을 나타내는 도면이다. 도 17에서 도시된 "측정 업데이트"라고 칭해진 프레임 내의 수학식들 (1) ~ (6)에 대응하는 변수들을 설명한다.
확장 칼만 필터의 적용
자세 산출 유닛(104)은 각속도 센서(15)로부터 유래된 자세 데이터(롤 각도, 피치 각도, 및 요 각도)를 업데이트 하기 위해 확장 칼만 필터에서의 시간 업데이트 프로시저를 이용할 수 있다. 또한, 자세 산출 유닛(104)은 가속도 센서(14)로부터 유래된 자세 데이터를 업데이트하기 위해 확장 칼만 필터에서의 측정 업데이트 프로시저를 이용할 수 있다(롤 각도 및 피치 각도)(이하, "제1 측정 업데이트 프로시저"라고 부른다). 또한, 자세 산출 유닛(104)은 자기장 센서(16)로부터 유래된 자세 데이터를 업데이트하기 위해 측정 업데이트 프로시저를 이용할 수 있다(요 각도)(이하, "제2 측정 업데이트 프로시저"라고 부른다).
이처럼, 자세 산출 유닛(104)은 7가지 상태 확장 칼만 필터를 형성할 수 있다. 자세 산출 유닛(104)은 하나의 시간 업데이트 프로시저와 두 개의 측정 업데이트 프로시저들을 병렬적으로 반복 실행시켜서 자세와 자이로(gyro) 영점 바이어스 값을 추정할 수 있다. 여기서 자세는 다음과 같은 사원수(quaternion)(벡터)를 이용하여 표현된다.
Figure pct00001
사원수 벡터는 4개 변수들을 가지며, 물체의 자세를 나타낼 수 있다. 롤, 피치, 요 각도들을 이용한 자세 표현에서는 "짐벌 락(Gimbal Lock)"이라 불리우는 특이점 문제가 있는 반면, 사원수에서는 특이점 없이 어떠한 자세도 표현할 수 있다. 자이로 영점 바이어스 값은 세 개 축들에 대응하는 세개 변수들(bxk, byk, bzk)를 이용하여 표현될 수 있다(b는 상수).
아래에서는, 앞서 언급한 세 개의 프로시저들 (1) ~ (3)을 설명한다.
시간 업데이트 프로시저
먼저, 도 5 내지 도 7을 참조하여, 확장 칼만 필터에서의 시간 업데이트 프로시저를 설명한다. 자세 산출 유닛(104)은 해당 프로시저를 실행하고 후술하는 상태 추정 모델에서 자이로 출력값들을 입력으로서 이용하여 확장 칼만 필터에서의 시간 업데이트 프로시저에 따라 시간 적분을 수행할 수 있다. 이렇게 하여, 업데이트된 사원수 벡터 q와 오차 공분산 행렬(error covariance matrix) P가 획득된다(롤, 피치, 및 요 각도들).
도 5는 확장 칼만 필터의 일반 수학식에 있어서의 본 발명의 실시예에 따른 (1) 시스템 상태 추정 모델의 변수들을 설명하는 도면이다. 여기에서, 현재의 상태 추정값들을 사원수 벡터와 자이로 영점 바이어스 값을 이용하여 도 5의 수학식 (1)-1과 같이 정의한다.
Figure pct00002
입력값들 uk을 각속도 센서의 출력 값들(ω0xk, ω0yk, ω0zk)(rad/sec)을 이용하여 도 5의 수학식 (1)-4와 같이 정의한다.
Figure pct00003
따라서, 값들(ω0xk, ω0yk, ω0zk)은, 영점 값들이 치환되고 오프셋이 없는 각속도를 나타낸다. 시스템 상태 추정 모델은 도 5의 수학식 (1)-5로서 표현되며, 여기서, C1, C2, C3는 상수이다.
Figure pct00004
도 6은 확장 칼만 필터의 일반 수학식에 있어서의 본 발명의 실시예에 따른 (2) 시간 업데이트 프로시저에서의 편미분 행렬(야코비안(Jacobian))를 설명하는 도면이다. 도 5에서 도시된 바와 같이, 시스템 상태 추정 모델은 수학식 (1)-5와 같이 표현된다. 수학식 (1)-5의 우변은 "f"이다. 따라서, 우변의 편미분은 시간 업데이트 프로시저에서의 편미분 행렬을 초래시킨다.
도 7은 확장 칼만 필터의 일반 수학식에 있어서의 본 발명의 실시예에 따른 오차 공분산 추정 모델(Pk |k- 1)을 설명하는 도면이다. 프로세스 노이즈(Qk)는 시스템 식별 프로세스에서 미리 결정된다.
Figure pct00005
프로세스 노이즈(Qk)와, 이전 스텝에서의 오차 공분산 행렬과, 시간 업데이트 프로시저에서의 편미분 행렬(야코비안)(Fk)과, 그 전치 행렬(Fk T)을 이용하여 현재 시간에서의 오차 공분산 행렬(Pk |k- 1)이 산출될 수 있다(도 7의 수학식 (3)-5). 현재 시간에서의 오차 공분산 행렬(Pk |k-1) 및 행렬(Pk -1|k- 1)은 실수인 7 × 7 원소들을 갖는다.
자세 산출 유닛(104)은 위에서 언급한 모델 및 변수들을 이용하여 확장 칼만 필터에서의 시간 업데이트 프로시저를 실행하고, 관성 장치(1)의 절대 좌표계에서의 자세를 산출하며, 해당 자세를 나타내는 행렬의 역 회전 행렬을 산출할 수 있다.
제1 측정 업데이트 프로시저
도 8은 확장 칼만 필터에서의 제1 측정 업데이트 프로시저를 설명하는 도면을 도시한다. 자세 산출 유닛(104)은 해당 프로시저를 실행함으로써 가속도 취득 유닛(101)에 의해 획득된 수평 방향으로의 각도 데이터와 현재 사분수 벡터의 수평 각도 데이터를 비교할 수 있고, 자세 산출 유닛(104)은 그 차이(difference)를 보정할 수 있다.
도 8은 확장 칼만 필터에서의 일반 수학식에서의 (1) 관측 잔차(observation residual)들
Figure pct00006
에 포함된 변수들을 설명하는 도면을 도시한다.
먼저, 이전 스텝에서의 관측 값들(벡터)(h)은 도 8의 수학식 (1)-3과 같이 표현된다.
Figure pct00007
위의 수학식에 포함된 원소들은 3차원 회전 행렬(4 × 4)로부터 유래된 것이며, 이러한 원소들은 미리결정된다. 관측 값들(벡터)(zk)은 도 8의 수학식 (1)-2와 같이 표현된다.
Figure pct00008
여기서, 값들(ax, ay, az)은 가속도 센서(14)로부터의 출력이며, 이 출력은 가속도 취득 유닛(101)에 의해 획득된다. 위에서 언급한 h 및 zk를 이용하여, 관측 잔차들
Figure pct00009
이 아래에서 보여지는 바와 같이 산출된다.
확장 칼만 필터의 일반 수학식 (1)에 있어서, 측정 업데이트 프로시저에서의 편미분 행렬(야코비안)(Hk)은 도 8의 수학식 (1)-3에서 도시된 관측 값들(h)의 편미분을 산출함으로써 획득된다.
확장 칼만 필터의 일반 수학식에 있어서, (3) 잔차 공분산(Sk)은 관측 노이즈(행렬)(Rk)와, 관측 업데이트 프로시저에서의 편미분 행렬(Hk)과, 그 전치 행렬(Hk T)과, 현재 시간에서의 오차 공분산 행렬(Pk|k-1)을 이용하여 산출된다.
Figure pct00010
여기서, 값들(r1, r2, r3)은 가속도 센서(14)의 장치 평가 프로세스에서 미리 결정되는 분산값들이다.
확장 칼만 필터의 일반 수학식에 있어서, (4) 칼만 이득(Kk)은 현재 시간에서의 오차 공분산 행렬(Pk |k- 1)과, 관측 업데이트 프로시저에서의 편미분 행렬의 전치 행렬(Hk T)과, 잔차 공분산의 역 행렬(Sk - 1)을 이용하여 산출된다. Kk는 실수들인 7 × 3 원소들을 갖는다.
마찬가지로, 확장 칼만 필터의 일반 수학식에 있어서, (5) 상태 추정값들(xk|k) 및 (6) 업데이트된 오차 공분산 행렬(Pk |k)이 앞서 언급한 변수들을 이용하여 산출된다.
자세 산출 유닛(104)은 앞서 언급한 모델 및 변수들을 사용하여, 확장 칼만 필터에서의 측정 업데이트 프로시저를 실행하고, 수평 방향으로의 각도 데이터와 현재 사분수 벡터의 수평 각도 데이터를 비교하며, 그 차이를 보정할 수 있다(롤 및 피치 각도들 만).
제2 측정 업데이트 프로시저
도 9는 확장 칼만 필터의 제2 측정 업데이트를 설명하는 도면이다. 자세 산출 유닛(104)은 (후술하는) 자기장 신뢰성 평가 유닛(105)으로부터 자기장 취득 유닛(103)에 의해 획득된 데이터가 신뢰할 수 있는 것임을 나타내는 통지를 수신할 수 있다. 자기장 취득 유닛(103)으로부터의 데이터가 신뢰할 수 있는 것인 경우, 자세 산출 유닛(104)은 TRIAD 알고리즘을 통해 획득된 자세 데이터로부터 산출된 요 각도를 이용하여 제2 측정 업데이트 프로시저를 실행하여 사분수 벡터의 요 각도 성분을 보정할 수 있다. TRIAD 알고리즘은 이후에 설명한다.
도 9는 도 8과 마찬가지로, 확장 칼만 필터의 일반 수학식에서의 (1) 관측 잔차들
Figure pct00011
에 포함된 변수들을 도시한다.
도 8의 경우와 마찬가지로, 이전 스텝에서의 관측 값들(벡터)(h)은 도 9의 수학식 (1)-3과 같이 표현된다. 한편, 관측 값들(벡터)(zk)은 도 9의 수학식 (1)-2와 같이 표현된다.
Figure pct00012
상기 벡터는 TRIAD 알고리즘에 의해 산출된 요 각도 방향을 나타낸다.
확장 칼만 필터의 일반 수학식에 있어서, (2) 관측 업데이트에서의 편미분 행렬(야코비안)(Hk)은, 제1 관측 업데이트 프로시저와 마찬가지로, 이전 스텝에서의 관측값들(h)의 편미분을 산출하여 획득된다.
확장 칼만 필터의 일반 수학식에 있어서, (3) 잔차 공분산(Sk)은 관측 노이즈(행렬)(Rk)와, 측정 업데이트에서의 편미분 행렬(Hk)과, 그 전치 행렬(Hk T)과, 현재 시간에서의 오차 공분산 행렬(Pk |k- 1)을 이용하여 산출된다.
Figure pct00013
여기서, 값들(T1, T2, T3)은 자기장 센서(16)의 장치 평가 프로세스에서 미리 결정되는 분산값들이다.
또한, (4) 칼만 이득(Kk), (5) 업데이트된 상태 추정값들(xk |k) 및 (6) 업데이트된 오차 공분산 행렬(Pk |k)은 제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)의 최신의 자세를 나타내는 최신의 사분수 벡터(4 x 1)를 수직 (하방) 성분을 나타내는 1 x 3(즉, 1개의 행과, 3개의 열들) 행렬 AccFrame으로 변환시킨다.
단계 S30에서, 자기장 신뢰성 평가 유닛(105)은 AccFrame과, 자기장 센서에 의해 취득된 자기장 벡터를 나타내는 행렬 MagFrame을 이용하여 3 × 3 행렬 MagFrameM을 산출한다.
단계 S32에서, 자기장 신뢰성 평가 유닛(105)은 AccFrame과 MagFrame의 외적을 구하고, 그 계산 결과를 정규화하여 행렬 AccCrossMag을 산출한다.
단계 S34에서, 자기장 신뢰성 평가 유닛(105)은 AccFrame과 AccCrossMag의 외적을 구하고, 그 계산 결과를 정규화하여 행렬 AccCrossAcM을 산출한다.
단계 S36에서, 자기장 신뢰성 평가 유닛(105)은 AccFrame와, 단계 S32에서 산출된 AccCrossMag와, 단계 S34에서 산출된 AccCrossAcM을 이용하여 3 x 3 행렬 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를 조합하여(AccRef, MagCrossAcc, MagCross는 각각 전치된다) 3 x 3 행렬 MagRefM를 생성한다.
단계 S40(S42~S46)는 초기화 이후 AccRef 및 MagRef가 변경된 경우에 수행될 수 있다. 따라서, 자기장 신뢰성 평가 유닛(105)은 초기화가 다시 수행될 때까지 저장해 놓은 MagRefM를 재사용할 수 있다.
단계 S50에서, 자기장 신뢰성 평가 유닛(105)은 MagFrame과 MagRefM의 내적을 취득한다. 취득된 행렬을 "mag_triad"(3 × 3)라고 부른다. mag_triad는 장치 좌표계를 절대 좌표계로 변환하기 위해 이용된다. TRIAD 알고리즘에서, 세 개의 열들을 각각 TRIAD1, TRIAD2, TRIAD3라고 부른다.
단계 S60에서, 자기장 신뢰성 평가 유닛(105)은 mag_triad의 역행렬(절대 좌표계와 장치 좌표계 사이의 변환을 위한 행렬)을 구하고, 이것을 사분수로 변환시킨다. 이렇게 얻어진 사분수는 제2 자세 데이터를 나타낸다.
자기장 신뢰성 평가 유닛(105)은 제1 자세 데이터의 미분값과 상술한 단계들에 의해 산출된 제2 자세 데이터의 미분값을 비교하여 차이가 존재하는지를 결정한다. 차이가 없으면(즉, 미분값들의 차이가 문턱값보다 작으면), 자기장 신뢰성 평가 유닛(105)은 자기장 센서(16)에 의해 취득된 데이터(지자기)가 신뢰할 수 있는 것이라고 결정한다.
또한, 자기장 신뢰성 평가 유닛(105)은 다음의 기준을 이용하여 이러한 평가의 정확성을 높일 수 있다:
- 자기장 벡터의 절대값이 미리결정된 범위 내인가;
- 제1 자세 데이터와 자기장 벡터로부터 획득된 부각(depression)이 미리결정된 범위 내인가;
- 제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~3Hz일 수 있다. 통과 대역은 관성 장치(1)의 타겟의 보행 또는 진행 동작에 따른 주파수에 따라 달라질 수 있다. 여기에서, 대역 통과 필터(201)에 의해 출력되며, 중력 성분이 제거된 절대 가속도를 변환 가속도(202)라고 부른다. 변환 가속도(202)는 변환 가속도 저장 유닛(206)에 저장될 수 있다. 또한, 변환 가속도의 수직 성분은 "변환 가속도의 수직 성분(203)"으로서 표현된다. 변환 가속도의 수직 성분(203)은 (후술하는) 피크 검출 유닛(204)에 전달된다.
피크 검출 유닛(204)은 대역 통과 필터(201)에 의해 출력되는 변환 가속도(202) 중의 변환 가속도의 수직 성분(203)의 변동(시간 변동)을 측정하고 그 파형의 최저 전환점(피크 시간 또는 피크 위치들)를 검출할 수 있다. 검출된 피크 위치는 (후술하는) 피크 위치 저장 유닛(205)에 저장된다. 다음은 최저 전환점의 검출 방법을 설명한다.
도 10은 변환 가속도의 수직 성분(203)(Z)과 변환 가속도의 수평 성분(X, Y)의 변동을 나타내는 파형을 도시하며, 이 파형에서 가로축은 시간(초)을 나타낸다. 도 10에서 도시된 바와 같이, 각각의 파형은 이동 사이클(예를 들어, 보행 사이클)에 대응하는 사이클을 갖는다. 특히, 변환 가속도의 수직 성분(203)의 파형은 수평 성분에 비해 (-1 m/s2에서부터 1 m/s2까지의) 큰 진폭을 갖는다. 최고 전환점은 타겟의 발이 착지했을 때 나타난다. 최저 전환점은 한쪽 발이 다른쪽 발을 지나칠 때 나타난다.
도 20은 보행에 대한 수직 방향으로의 동작 특성을 나타내는 도면이다. 일반적으로, 보행 동작은 하지(inferior limb)의 동작에 따라 입각기(stance phase)와 유각기(swing phase)로 분류될 수 있다. 입각기에서는, 한쪽 발의 뒤꿈치가 착지하고, 그런 후 같은측 발 끝이 들어올려져서 지상으로부터 떨어진다. 유각기에서는, 한쪽 발 끝이 들어올려져서 지상으로부터 떨어지고, 그런 후 같은측 발의 뒤꿈치가 착지한다. 또한, 보행 동작은 양다리 지지 기간으로 특징지어진다. 일반적으로, 보행 동작을 느리게 하면, 양다리 지지 기간의 비율은 증가하고, 보행 동작을 빠르게 하면, 양다리 지지 기간의 비율은 줄어든다. 또한, 달리기 동작은 양다리 지지 기간을 사라지게 한다. 또한, 사용자가 직선 보행을 하는 경우, 수직 방향과 수평 방향으로의 이동량은 "입각 중기(mid stance)"에서 최대가 되는 것으로 알려져 있다.
입각 중기의 전반부는 들어올려진 쪽의 발이 축 발을 지나치는 (들어올려진 발이 몸통 아래 지점을 지나가는) 동작을 포함한다. 이 때 몸체는 상방향으로 이동하고, 수직 상방향으로 변환 가속도가 발생한다. 한편, 입각 중기의 후반부는 들어올려진 발이 착지하는 동작을 포함한다. 이 때 몸체는 하방향으로 이동하고, 수직 하방향으로 변환 가속도가 발생한다.
도 21은 보행에 대한 수평 방향으로의 동작 특성을 나타내는 도면이다. 입각 중기의 전반부에서의 변환 가속도의 수평 성분은 타겟 위치로의 이동을 위해 한 쪽 발이 들어올려질 때의 가속도와, 중력 중심의 이동에 의해 야기된 좌우 흔들림으로 인한 가속도에 의해 영향을 받는다. 한편, 입각 중기의 후반부에서의 변환 가속도의 수평 성분은 타겟 위치로의 이동을 위해 한 쪽 발이 들어올려질 때의 가속도와, 중력 중심의 이동에 의해 야기된 좌우 흔들림으로 인한 가속도에 의해 영향을 받는다. 따라서, 입각 중기의 후반부에서는 발을 들어올릴 때 필요한 변환 가속도가 관측되지 않는다.
따라서, 본원의 실시예에 따른 관성 장치(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은 변환 가속도의 수평 성분과 변환 가속도의 수직 성분(203)의 변동을 나타내는 파형들을 도시하며, 이 파형들은 도 10에서 도시된 파형들에 대응한다. 이 예에서, 변환 속도의 수평 성분 관리 유닛(207)은 변환 가속도의 수직 성분(203)의 파형으로부터 검출된 피크 위치들(t1, t2, t3)을 중심으로 하는 미리결정된 기간들(τ)에서의 시간에 대해 변환 가속도의 수평 성분들을 적분하고, 변환 속도의 수평 성분(V1, V2, V3)을 산출할 수 있다.
기간(τ)은 (tb-ta) 이하인 것이 바람직하다. 이것은, 변환 속도의 수평 성분 관리 유닛(207)이 전체 시간 영역에서 적분을 수행하면, 그 결과는 보행 동작으로 인한 좌우 흔들림으로 발생하는 가속도와 뒤꿈치가 착지했을 때의 진동으로 인해 발생하는 가속도에 영향을 받을 가능성이 높고, 변환 속도의 수평 성분 관리 유닛(207)은 진행 방향을 정확하게 추정하지 못하기 때문이다.
변환 속도의 수평 성분은 앞서 언급한 피크 검출 프로시저와 한 쪽 발이 축 발을 지나칠 때의 후속적인 프로시저에 의해 생성될 수 있다. 생성된 특징 정보는 속도의 크기와 방향을 나타내는 변환 속도의 수평 성분 벡터로서 표현될 수 있다. 도 12에 도시된 바와 같이, 변환 속도의 수평 성분 벡터는 한 쪽 발이 축 발을 지나칠 때의 타겟의 몸체의 이동의 방향(진행 방향)과 진폭을 나타낸다.
피크 변환 가속도의 수직 성분 관리 유닛(208)은 변환 가속도의 수직 성분(203)(이하에서는 "피크 변환 가속도의 수직 성분"이라고 부른다)에서의 피크 위치(시간)에서의 변환 가속도를 획득할 수 있고, 이 변환 가속도를 결정 유닛(111)(후술함)에 전달할 수 있다.
변환 속도의 수평 성분 취득 유닛(209)은 변환 속도의 수평 성분 관리 유닛(207)으로부터 최신의 변환 속도의 수평 성분과 과거의 변환 속도의 수평 성분을 획득할 수 있고, 획득된 변환 속도의 수평 성분을 결정 유닛(211)에 전달할 수 있다.
사이클 취득 유닛(210)은 피크 위치 저장 유닛(205)으로부터 복수의 피크 위치들을 획득하고 타겟의 진행 사이클(예를 들어, 보행 사이클)을 획득할 수 있다. 또한, 사이클 취득 유닛(210)은 피크 위치들의 차이들을 계산하여 최신의 진행 사이클과 과거의 진행 사이클을 획득할 수 있다. 사이클 취득 유닛(210)은 획득한 진행 사이클들을 결정 유닛(211)(후술함)에 전달할 수 있다.
결정 유닛(211)은 도 13에 도시된 프로시저들을 실행하여 앞서 언급한 프로시저에서 획득한 각종의 데이터가 실제 보행 동작으로부터 유래되었는지를 결정할 수 있다. 보행 동작은 타겟에 의해 수행된 진행 동작을 포함하며, 이 진행 동작은 보행 동작뿐만이 아니라 달리기 동작을 포함한다. 한편, 비보행 동작은 관성 장치(1)를 무작위 또는 의도적으로 흔드는 동작이나 외부 환경으로부터 유도된 가속도에 의해 야기된 동작(예를 들어, 타겟이 이동중에 있는 물체에 의해 운송되는 경우)을 포함한다. 이하에서는, 도 13에 도시된 프로시저를 설명한다.
단계 S100에서, 결정 유닛(211)은 피크 변환 가속도의 수직 성분 관리 유닛(208)으로부터 획득한 피크 변환 가속도의 수직 성분이 미리결정된 범위 내에 있는지 여부를 결정한다. 피크 변환 가속도의 수직 성분이 미리결정된 범위 내에 있는 경우, 프로시저는 단계 S200으로 진행한다. 그렇지 않은 경우에는, 프로시저는 단계 S600으로 진행하고, 결정 유닛(211)은 검출된 동작(즉, 데이터)이 비보행 동작으로부터 유래된 것이라고 결정한다. 피크 변환 가속도의 수직 성분에 대한 미리결정된 범위는 측정 타겟의 특성(예를 들어, 보행자의 보행 특성)에 따라 관성 장치(1)의 사용자 또는 제조자에 의해 미리구성될 수 있다.
다음으로, 단계 S200에서, 결정 유닛(211)은 변환 속도의 수평 성분 관리 유닛(207)으로부터 획득한 변환 속도의 수평 성분의 크기가 미리결정된 범위 내에 있는지 여부를 결정한다. 변환 속도의 수평 성분 관리 유닛(207)으로부터 획득한 변환 속도의 수평 성분의 크기가 미리결정된 범위 내에 있는 경우, 프로시저는 단계 S300으로 진행한다. 그렇지 않은 경우에는, 프로시저는 단계 S600으로 진행하고, 결정 유닛(211)은 검출된 동작이 비보행 동작으로부터 유래된 것이라고 결정한다. 변환 속도의 수평 성분의 미리결정된 범위는 측정 타겟의 특성(예를 들어, 보행자의 보행 특성)에 따라 관성 장치(1)의 사용자 또는 제조자에 의해 미리구성될 수 있다.
다음으로, 단계 S300에서, 결정 유닛(211)은 사이클 취득 유닛(210)으로부터 획득한 진행 사이클이 미리결정된 범위 내에 있는지 여부를 결정한다. 사이클 취득 유닛(210)로부터 획득한 이동 사이클이 미리결정된 범위 내에 있는 경우, 프로시저는 단계 S400으로 진행한다. 그렇지 않은 경우에는, 프로시저는 단계 S600으로 진행하고, 결정 유닛(211)은 검출된 동작이 비보행 동작으로부터 유래된 것이라고 결정한다. 진행 사이클의 미리결정된 범위는 측정 타겟의 특성(예를 들어, 보행자의 보행 특성)에 따라 관성 장치(1)의 사용자 또는 제조자에 의해 미리구성될 수 있다.
다음으로, 단계 S400에서, 결정 유닛(211)은 수평 방향으로의 이동 진폭이 미리결정된 범위 내에 있는지 여부를 결정한다. 수평 방향으로의 이동 진폭이 미리결정된 범위 내에 있는 경우, 프로시저는 단계 S500으로 진행한다. 그렇지 않은 경우에는, 프로시저는 단계 S600으로 진행하고, 결정 유닛(211)은 검출된 동작이 비보행 동작으로부터 유래된 것이라고 결정한다.
여기서, 수평 방향으로의 속도의 변동을 도 14를 참조하여 설명한다. 도 14(a)에서 도시된 바와 같이, 보행 동작에서, 사용자가 우측발로 앞으로 내걸을 때에는 변환 속도 벡터는 우측 방향으로 발생하고, 사용자가 좌측발로 앞으로 내걸을 때에는 변환 속도 벡터는 좌측 방향으로 발생한다. 이러한 동작을 인식하기 위해, 결정 유닛(211)은 변환 속도의 수평 성분 벡터가 이러한 특성을 만족시키는지를 결정한다.
먼저, 결정 유닛(211)은 도 14(b)에서 도시된 바와 같이 변환 속도의 수평 성분 벡터의 시작점과 변환 속도의 수평 성분 벡터의 종점을 결합한다. 다음으로, 결정 유닛(211)은 Vn 벡터들의 중심들을 연결하는 직선과 각각의 Vn 벡터의 종점 사이의 거리(dn)를 산출한다. 다음으로, 결정 유닛(211)은 dn이 미리결정된 범위 내에 있는지 여부를 결정하고, dn이 미리결정된 범위 내에 있는 경우, 결정 유닛(211)은 동작이 실제 보행 동작으로부터 유래된 것이라고 결정한다. dn에 대한 미리결정된 범위는 측정 타겟의 특성(예를 들어, 보행자의 보행 특성)에 따라 관성 장치(1)의 사용자 또는 제조자에 의해 미리구성될 수 있다.
단계 S500에서, 결정 유닛(211)은 동작이 실제 보행 동작으로부터 유래된 것이라고 결정한다.
단계 S600에서, 결정 유닛(211)은 검출된 동작이 비보행 동작으로부터 유래된 것이라고 결정한다.
앞서 언급한 단계들 S100~S400의 하나 이상의 단계들은 생략될 수 있다는 것을 유념해둔다. 그러나, 모든 단계들이 실행되는 경우, 관성 장치(1)는 진행 방향을 정확하게 추정할 수 있다.
검출된 동작이 보행 동작으로부터 유래된 것이라고 결정 유닛(211)이 결정하면, 방향 산출 유닛(212)은 각각의 스텝마다의 진행 방향을 추정하기 위해 다음의 프로시저를 수행할 수 있다.
사용자의 보행 동작이 제로 스텝들에서 첫번째 스텝으로 옮기면, 방향 산출 유닛(212)은 변환 속도의 수평 성분 취득 유닛(209)으로부터 변환 속도의 수평 성분 벡터(V0)를 획득한다(도 15(a) 참조). 다음으로, 사용자의 보행 동작이 첫번째 스텝에서 두번째 스텝으로 옮기면, 방향 산출 유닛(212)은 변환 속도의 수평 성분 취득 유닛(209)으로부터 변환 속도의 수평 성분 벡터(V1)를 획득한다(도 15(a) 참조).
다음으로, 방향 산출 유닛(212)은 벡터(V0)와 벡터(V1)를 정규화하여 벡터(V0')와 벡터(V1')을 획득한다. 방향 산출 유닛(212)은 획득된 벡터들(V0', V1')의 합성 벡터를 산출하고, 이 합성 벡터의 방향을 이용하여 각 스텝 당 진행 방향(213)을 추정한다. 상기 프로시저는 사용자가 스텝을 밟고 앞으로 이동할 때 마다 실행된다.
결과로서, 측정 타겟의 위치를 측정하는 외부 응용 프로그램은 방향 추정 유닛(200)에 의해 출력된 진행 방향(213)을 이용하여 타겟의 현재 위치를 추정할 수 있다. 응용 프로그램은 타겟이 방향 산출 유닛(212)에 의해 산출된 합성 벡터(V0' + V1')에 의해 표시된 방향쪽으로 미리결정된 시간 동안 앞으로 이동한 것으로 가정하여 현재 위치를 추정할 수 있다.
이와 같이, 본 실시예에 따른 관성 장치(1)는 스마트폰에서 보통 사용되는 관성 센서들로부터 획득된 센서 데이터를 이용하여 관성 장치(1)의 측정 타겟의 스텝 마다의 진행 방향을 추정할 수 있다. 따라서, 통상적인 PDR 방법에서 이용되고 있는, 푸리에 변환(FT) 또는 주성분 분석을 수행하지 않기 때문에 높은 계산 능력에 대한 필요성을 제거시킨다. 이것은 고속 샘플링을 수행하는 고성능 관성 센서를 불필요하게 하고, 관성 장치(1)의 비용을 절감시킬 수 있다.
또한, 관성 장치(1)는 각각의 스텝 마다의 진행 방향을 추정하기 위해, 수평 방향으로의 속도 벡터를 이용한다. 속도 벡터는 최저 피크 위치(전환점)를 중심으로 하는 미리결정된 기간에서 절대 좌표계에서의 가속도를 적분하여 산출된다. 관성 장치(1)는 사용자가 일 방향으로의 스텝을 위해 발을 이동시킬 때 발생하는 가속도를 이용하기 때문에, 보행 동작으로 인한 좌우 흔들림으로 야기된 가속도와 뒤꿈치가 착지할 때의 진동으로 야기된 가속도는 감소될 수 있다. 그 결과로, 추정된 방향의 정확도가 향상될 수 있다.
또한, 관성 장치(1)는 자기장 센서에 의해 획득된 센서 데이터를 평가하고, 센서 데이터가 신뢰할 수 있는 경우에, 관성 장치(1)는 이 센서 데이터를 이용하여 관성 장치(1)의 자세를 나타내는 벡터(요 각도)를 보정한다. 따라서, 자세 벡터를 자기장 센서 데이터를 이용하여 보다 더 정확하게 보정하는 것이 가능하다.
예를 들어, 네비게이션 응용 프로그램은 관성 장치(1)에 의해 추정된 진행 방향을 이용하여 GPS와 같은 외부 측위 시스템이 작동하지 않고 절대 위치가 측정될 수 없는 경우에도 매우 정확도 높은 PDR을 달성할 수 있다.
3.3 진행 방향 추정 결과
도 22는 보행 동작과 비보행 동작의 결정에서의 진행 방향들의 추정 결과를 설명하는 도면이다. 도 22는 본 발명의 실시예에 따른 관성 장치(1)를 오른손에 소지한 사용자가 보행 동작과 비보행 동작을 수행하는 경우의 진행 방향들의 추정 결과를 보여준다.
여기에서는 보행 동작들과 비보행 동작들을 설명한다. 먼저, 관성 장치(1)를 소지한 사용자는 직선 보행을 하고, 그런 후 사용자는 정지하여 관성 장치(1)를 상하로 흔드는 동작(비보행 동작)을 10회 실시한다. 이어서, 사용자는 약 10초간 정지하고, 사용자는 동일한 방향으로 직선 보행을 한다.
도 22(a)는 관성 장치(1)의 결정 유닛(211)으로부터의 추정 결과를 보여준다. 이 예시에서, 검출된 변환 가속도의 피크가 보행 동작들로부터 유래된 것이라고 관성 장치(1)가 결정하는 경우에는 WALK_DETECT 플래그가 출력된다. 반면에, 검출된 변환 가속도의 피크가 비보행 동작들로부터 유래된 것이라고 관성 장치(1)가 결정하는 경우에는 N_WALK_DETECT 플래그가 출력된다. 도 22(a)에서 도시된 바와 같이, 결과물은 사용자에 의해 수행된 실제 동작들을 적절하게 반영시킨다.
여기서, 관성 장치(1)는 실제 비보행 동작들(관성 장치(1)를 10회 상하 방향으로 흔드는 동작)에 대해 11회의 비보행 동작들을 검출한다. 이것은 관성 장치(1)가 실제 비보행 동작에 의해 야기된 노이즈(외란)에 대해 비보행 동작들을 검출한다는 것을 의미한다. 따라서, 사용자가 관성 장치(1)를 사용자의 운동에 의해 야기된 2차적인 노이즈로서 무작위 또는 의도적으로 이동시킬 때 관성 장치(1)는 비보행 동작들을 검출할 수 있다.
도 22(b)는 도 22(a)에서 도시된 결정 결과에 기초하여 관성 장치(1)의 방향 산출 유닛(212)에 의해 추정된 진행 방향들의 추정 결과를 보여준다. 도 22(b)에서 도시된 바와 같이, 보행 동작들이 검출된 경우에만 진행 방향들의 추정 결과가 획득된다. 반면에, 비보행 동작들이 검출된 경우에는 어떠한 추정 결과도 출력되지 않는다.
이와 같이, 본 발명의 실시예에 따른 관성 장치(1)는 진행 방향의 잘못된 추정 결과들을 획득하는 것을 방지할 수 있다. 그 결과, 예컨대 보행자용 네비게이션 응용 프로그램과 같이 추정된 진행 방향을 이용하는 응용 프로그램에서 잘못된 위치들을 디스플레이할 가능성은 감소된다.
도 23과 도 24는 다양한 장치 소지 위치들에서의 진행 방향들의 추정 결과들을 나타내는 도면들이고, 도 23은 관성 장치(1)를 소지한 사용자가 보행할 때의 보행 경로를 보여준다. 도 24(a) ~ (e)는 사용자가 관성 장치(1)를 다섯 가지의 상이한 양태들로 소지했을 때의 진행 방향들의 추정 결과들을 보여준다.
도 24(a)는 사용자가 관성 장치(1)를 손에 쥔 상태에서 도 23에서 도시된 보행 경로를 보행할 때의 진행 방향들의 추정 결과를 보여준다.
도 24(b)는 사용자가 관성 장치(1)를 복부 영역에 고정시킨 상태에서 도 23에서 도시된 보행 경로를 보행할 때의 진행 방향들의 추정 결과를 보여준다.
도 24(c)는 사용자가 관성 장치(1)를 바지 주머니 속에 넣은 상태에서 도 23에서 도시된 보행 경로를 보행할 때의 진행 방향들의 추정 결과를 보여준다.
도 24(d)는 사용자가 관성 장치(1)를 자켓 주머니 속에 넣은 상태에서 도 23에서 도시된 보행 경로를 보행할 때의 진행 방향들의 추정 결과를 보여준다.
도 24(e)는 사용자가 통화중에 있을 때와 같이 관성 장치(1)를 귀에 댄 상태에서 도 23에서 도시된 보행 경로를 보행할 때의 진행 방향들의 추정 결과를 보여준다.
도 24(a) ~ (e)에서, -180도와 +180도는 동일한 방위각을 나타낸다. 도 24(a) ~ (e)에서 도시된 바와 같이, 본 발명에 따른 관성 장치(10)에 의해 다양한 장치 소지 양태들에서 정확한 방향이 추정될 수 있다. 그 결과, 예를 들어 보행자용 네비게이션 응용 프로그램과 같은 응용 애플리케이션은 네비게이션의 정확도를 높일 수 있다.
상술한 실시예에서, 본 실시예에서 설명된 각각의 장치에서 실행되는 프로그램들은 CD-ROM, FD(flexible disk), CD-R, 또는 DVD(digital versatile disk)와 같은 컴퓨터로 판독가능한 기록 매체 상의 인스톨가능 포맷 또는 실행가능 포맷으로 존재할 수 있다.
본 실시예에 따른 각각의 장치 상에서 실행되는 프로그램들은 인터넷과 같은 네트워크에 연결된 컴퓨터 상에 저장될 수 있고 네트워크를 통한 다운로딩에 의해 제공될 수 있다. 본 실시예에 따른 각각의 장치 상에서 실행되는 프로그램들은 인터넷과 같은 네트워크로 제공되거나 또는 분배될 수 있다.
이와 달리, 본 실시예에 따른 각각의 장치 상에서 실행되는 프로그램들은 미리 ROM에 저장되어 제공될 수 있다.
상술한 관성 장치에서, 방법 및 프로그램은 상기 실시예들로 한정되지 않으며 다양한 변형들과 수정들이 본 발명의 범위로부터 벗어나지 않고서 행해질 수 있다. 또한, 앞에서 언급한 임의의 엘리먼트들을 결합시킴으로써 다양한 발명들을 형성하는 것이 가능하다.
본 출원은 2013년 2월 1일에 출원된 일본 특허 출원 제2013-018464호와, 2013년 11월 6일에 출원된 일본 특허 출원 제2013-230049호의 우선권에 기초되고 그 우선권을 청구하며, 이 출원의 전체 내용은 참조에 의해 본 명세서에 병합된다.
[특허 문헌]
[특허 문헌 1] 일본 특허 공개 공보 2003-302419
[특허 문헌 2] 일본 특허 공개 공보 2011-237452
[특허 문헌 3] 일본 특허 공개 공보 2000-97722
[특허 문헌 4] 일본 특허 공개 공보 2002-139340
[특허 문헌 5] 일본 특허 공개 공보 2012-145457
[특허 문헌 6] 일본 특허 4126388
[비특허 문헌]
[비특허 문헌 1] 그레그 웰치(Greg Welch)와 그레이 비숍(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)의 "Nonlinear Kalman Filter", Asakura Bookshop, 11/25/2011
[비특허 문헌 3] 웨이 테크 앙(Wei Tech Ang) 등의 "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/TRIAD_Algorithm>

Claims (13)

  1. 수평 방향과 수직 방향으로의 가속도들을 출력하도록 동작가능한 가속도 센서를 갖는 관성 장치에 있어서,
    시간에 대한 수직 방향으로의 가속도를 표현하는 파형에서의 전환점(turning point)을 검출하고 이 전환점에서의 시간을 검출하도록 구성된 검출 유닛과;
    상기 전환점에서의 시간을 중심으로 하는 미리결정된 기간 내에 수평 방향으로의 가속도를 이용하여 상기 수평 방향으로의 속도를 산출하도록 구성된 산출 유닛과;
    상기 속도가 문턱값 이하인지 여부를 결정하도록 구성된 결정 유닛과;
    상기 속도가 상기 문턱값 이하라는 상기 결정 유닛에 의한 결정에 응답하여 상기 속도를 이용하여 상기 관성 장치를 갖는 타겟이 이동하는 방향을 추정하도록 구성된 추정 유닛
    을 포함하는 관성 장치.
  2. 제1항에 있어서, 각속도 센서와 자기장 센서를 더 갖는 상기 관성 장치는,
    상기 자기장 센서로부터의 출력이 신뢰할 수 있다라고 결정하도록 구성된 평가 유닛과;
    상기 관성 장치의 자세(posture)를 표현하는 자세 데이터를 산출하도록 구성된 연산 유닛
    을 더 포함하고,
    상기 연산 유닛은 상기 출력이 신뢰할 수 없다라는 상기 평가 유닛에 의한 결정에 응답하여 상기 가속도 센서와 상기 각속도 센서만으로부터의 출력을 이용하여 상기 자세 데이터를 산출하며,
    상기 연산 유닛은 상기 출력이 신뢰할 수 있다라는 상기 평가 유닛에 의한 결정에 응답하여 상기 가속도 센서와 상기 각속도 센서로부터의 출력에 더하여 상기 자기장 센서로부터의 출력을 이용하여 상기 자세 데이터를 산출하는 것인, 관성 장치.
  3. 제2항에 있어서,
    상기 평가 유닛은 제1 자세 데이터를 제2 자세 데이터와 비교함으로써 상기 자기장 센서로부터의 출력이 신뢰할 수 있다라고 결정하고,
    상기 연산 유닛은 상기 가속도 센서와 상기 각속도 센서로부터의 출력을 이용하여 상기 제1 자세 데이터를 산출하며,
    상기 연산 유닛은 상기 산출된 제1 자세 데이터, 상기 가속도 센서와 상기 각속도 센서의 출력을 위한 미리구성된 참조 데이터, 및 상기 자기장 센서로부터의 출력을 이용하여 상기 제2 자세 데이터를 산출하는 것인, 관성 장치.
  4. 제3항에 있어서, 상기 제1 자세 데이터와 상기 제2 자세 데이터 각각은 사분수(quaternion) 벡터로 표현되는 것인, 관성 장치.
  5. 제4항에 있어서, 상기 제1 자세 데이터와 상기 제2 자세 데이터의 미분값들간의 차이가 미리결정된 값 이하인 경우 상기 평가 유닛은 상기 자기장 센서의 출력이 신뢰할 수 있다라고 결정하는 것인, 관성 장치.
  6. 제2항에 있어서, 상기 연산 유닛은,
    상기 각속도 센서의 출력을 이용하여 롤(roll), 피치(pitch), 및 요(yaw) 각도들에 대한 상기 자세 데이터를 산출하는 제1 프로시저와;
    상기 가속도 센서의 출력을 이용하여 롤 및 피치 각도들에 대한 상기 자세 데이터를 산출하는 제2 프로시저와;
    상기 자기장 센서의 출력을 이용하여 요 각도에 대한 상기 자세 데이터를 산출하는 제3 프로시저
    를 수행하는 것인, 관성 장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 수직 방향으로의 가속도는 상기 전환점에서 네거티브인 것인, 관성 장치.
  8. 제7항에 있어서, 상기 전환점에서의 상기 수직 방향으로의 가속도는 미리결정된 값 이하이고, 상기 추정 유닛은 상기 관성 장치를 갖는 상기 타겟이 이동하는 방향을 추정하며, 상기 전환점에서의 상기 수직 방향으로의 가속도가 상기 미리결정된 값보다 큰 경우, 상기 추정 유닛이 상기 관성 장치를 갖는 상기 타겟이 이동하는 방향을 추정하는 것이 억제되는 것인, 관성 장치.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 검출 유닛에 의해 검출된 복수의 전환점들에서의 시간을 이용하여 상기 타겟의 발 동작의 사이클을 획득하도록 구성된 사이클 취득 유닛
    을 더 포함하며,
    상기 사이클이 미리결정된 값 이하인 경우, 상기 추정 유닛은 상기 관성 장치를 갖는 상기 타겟이 이동하는 방향을 추정하는 것인, 관성 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 산출 유닛에 의해 산출된 상기 수평 방향으로의 복수의 속도들에 의해 산출된, 상기 타겟의 상기 수평 방향으로의 이동의 진폭이 미리결정된 값 이하인 경우, 상기 추정 유닛은 상기 관성 장치를 갖는 상기 타겟이 이동하는 방향을 추정하며,
    상기 타겟의 상기 수평 방향으로의 이동의 진폭이 상기 미리결정된 값보다 큰 경우, 상기 추정 유닛은 상기 관성 장치를 갖는 상기 타겟이 이동하는 방향을 추정하는 것을 억제하는 것인, 관성 장치.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 속도는 두 개의 벡터들로 표현되며, 상기 추정 유닛은 상기 벡터들을 합성하여 상기 방향을 추정하는 것인, 관성 장치.
  12. 수평 방향과 수직 방향으로의 가속도들을 출력하도록 동작가능한 가속도 센서를 갖는 관성 장치에 의해 수행되는 방법에 있어서,
    시간에 대한 수직 방향으로의 가속도를 표현하는 파형에서의 전환점을 검출하고 상기 전환점에서의 시간을 검출하는 단계와;
    상기 전환점에서의 시간을 중심으로 하는 미리결정된 기간 내에 수평 방향으로의 가속도를 이용하여 상기 수평 방향으로의 속도를 산출하는 단계와;
    상기 속도가 문턱값 이하인지 여부를 결정하는 단계와;
    상기 속도가 상기 문턱값 이하라는 결정에 응답하여 상기 속도를 이용하여 상기 관성 장치를 갖는 타겟이 이동하는 방향을 추정하는 단계
    를 포함하는 가속도 센서를 갖는 관성 장치에 의해 수행되는 방법.
  13. 수평 방향과 수직 방향으로의 가속도들을 출력하도록 동작가능한 가속도 센서를 갖는 관성 장치로 하여금 방법을 수행하게 하는 프로그램에 있어서, 상기 방법은,
    시간에 대한 수직 방향으로의 가속도를 표현하는 파형에서의 전환점을 검출하고 상기 전환점에서의 시간을 검출하는 단계와;
    상기 전환점에서의 시간을 중심으로 하는 미리결정된 기간 내에 수평 방향으로의 가속도를 이용하여 상기 수평 방향으로의 속도를 산출하는 단계와;
    상기 속도가 문턱값 이하인지 여부를 결정하는 단계와;
    상기 속도가 상기 문턱값 이하라는 결정에 응답하여 상기 속도를 이용하여 상기 관성 장치를 갖는 타겟이 이동하는 방향을 추정하는 단계
    를 포함하는 것인, 프로그램.
KR1020157020535A 2013-02-01 2014-01-28 관성 장치, 방법, 및 프로그램 KR20150099863A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2013018464 2013-02-01
JPJP-P-2013-018464 2013-02-01
JP2013230049A JP6322960B2 (ja) 2013-02-01 2013-11-06 慣性装置、方法及びプログラム
JPJP-P-2013-230049 2013-11-06
PCT/JP2014/052590 WO2014119799A1 (en) 2013-02-01 2014-01-28 Inertial device, method, and program

Publications (1)

Publication Number Publication Date
KR20150099863A true KR20150099863A (ko) 2015-09-01

Family

ID=51262497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157020535A KR20150099863A (ko) 2013-02-01 2014-01-28 관성 장치, 방법, 및 프로그램

Country Status (6)

Country Link
US (1) US10234293B2 (ko)
EP (1) EP2951530B1 (ko)
JP (1) JP6322960B2 (ko)
KR (1) KR20150099863A (ko)
CN (1) CN105102928B (ko)
WO (1) WO2014119799A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11187533B2 (en) 2017-04-05 2021-11-30 Sharp Kabushiki Kaisha Advancement direction calculation device, advancement direction determination method, and control program

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105917194B (zh) * 2014-01-14 2019-04-26 旭化成株式会社 行进方向信息输出装置、地图匹配装置、行进方向信息输出方法
JP2016033473A (ja) * 2014-07-31 2016-03-10 セイコーエプソン株式会社 位置算出方法及び位置算出装置
JP6536162B2 (ja) * 2015-05-08 2019-07-03 富士通株式会社 移動情報計算方法、移動情報計算装置、及び移動情報計算プログラム
US10042057B2 (en) * 2015-05-15 2018-08-07 Casio Computer Co., Ltd. Information processing device, traveling direction estimation method and storage medium
JP6478275B2 (ja) * 2015-05-29 2019-03-06 美津濃株式会社 動作を判別するための装置、およびコンピュータを当該装置として機能させるためのプログラム
CN106705959A (zh) * 2015-11-18 2017-05-24 中兴通讯股份有限公司 检测移动终端航向的方法和装置
US10408627B2 (en) 2015-11-30 2019-09-10 Ricoh Company, Ltd. Inertial device to estimate position based on corrected movement velocity
US10845376B2 (en) 2016-03-25 2020-11-24 Sharp Kabushiki Kaisha Information processing device, electronic device, and control method for information processing device
WO2017163637A1 (ja) * 2016-03-25 2017-09-28 シャープ株式会社 情報処理装置、電子機器、情報処理装置の制御方法および制御プログラム
CN105892658B (zh) * 2016-03-30 2019-07-23 华为技术有限公司 基于头戴显示设备预测头部姿态的方法和头戴显示设备
US11092441B2 (en) * 2016-06-02 2021-08-17 Bigmotion Technologies Inc. Systems and methods for walking speed estimation
CN106289282A (zh) * 2016-07-18 2017-01-04 北京方位捷讯科技有限公司 一种室内地图行人航迹匹配方法
CN106289247A (zh) * 2016-07-26 2017-01-04 北京长城电子装备有限责任公司 基于惯性传感器的室内定位装置
KR102556924B1 (ko) * 2016-09-05 2023-07-18 삼성전자주식회사 보행 보조 방법 및 이를 수행하는 장치
CN106705967A (zh) * 2016-11-18 2017-05-24 南京邮电大学 一种基于行人航位推算的精度改善的室内定位和方法
TWI680277B (zh) 2017-10-31 2019-12-21 芬蘭商亞瑪芬體育數字服務公司 用於確定物體的運動方向的方法和系統
GB2595065B (en) 2017-10-31 2022-05-11 Amer Sports Digital Services Oy Method and system for tracking and determining an indoor position of an object
JP2019148586A (ja) * 2018-02-27 2019-09-05 シャープ株式会社 位置計測装置、位置補正方法、及び位置情報取得システム
JP2019148477A (ja) * 2018-02-27 2019-09-05 セイコーエプソン株式会社 角速度センサー、慣性計測装置、移動体測位装置、携帯型電子機器、電子機器、および移動体
JP2019190937A (ja) * 2018-04-23 2019-10-31 シャープ株式会社 進行方向計算装置、進行方向決定方法、および制御プログラム
CN109959379B (zh) * 2019-02-13 2021-06-08 歌尔科技有限公司 定位方法及电子设备
CN110101388B (zh) * 2019-05-17 2022-02-18 南京东奇智能制造研究院有限公司 一种基于mimu的便携脊柱测量仪及方法
US11881097B2 (en) * 2019-08-02 2024-01-23 Samsung Electronics Co., Ltd Method and device for detecting fall accident by using sensor in low power state
CN111811500A (zh) * 2020-05-06 2020-10-23 北京嘀嘀无限科技发展有限公司 目标对象的位姿估计方法、装置、存储介质和电子设备
CN111795695B (zh) * 2020-05-15 2022-06-03 阿波罗智联(北京)科技有限公司 位置信息确定方法、装置及设备
US12000705B2 (en) 2020-05-26 2024-06-04 Here Global B.V. Method, apparatus, and system for providing travel direction and navigation in a multi-one-dimensional transportation system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3532773B2 (ja) 1998-09-26 2004-05-31 ジヤトコ株式会社 携帯用位置検出装置および位置管理システム
JP2000356520A (ja) * 1999-06-11 2000-12-26 Tokin Corp 姿勢角検出装置
JP3775779B2 (ja) 2000-10-30 2006-05-17 株式会社国際電気通信基礎技術研究所 歩行航行装置およびそれを用いたナビゲーションシステム
JP4126388B2 (ja) * 2002-04-08 2008-07-30 カシオ計算機株式会社 歩行方向検出装置及びプログラム
US8249914B2 (en) 2002-12-27 2012-08-21 Toshihiko Umeda Service supporting system, service supporting server and service supporting method
JP4086787B2 (ja) 2002-12-27 2008-05-14 株式会社リコー サービス支援システム、サービス支援サーバ、サービス支援方法
JP3837533B2 (ja) * 2003-01-15 2006-10-25 独立行政法人産業技術総合研究所 姿勢角処理装置および姿勢角処理方法
JP3872469B2 (ja) * 2003-10-23 2007-01-24 株式会社コナミデジタルエンタテインメント データ処理方法、データ処理装置
WO2005086375A1 (ja) 2004-03-03 2005-09-15 Nec Corporation 測位システム、即位方法、及びそのプログラム
JP4443978B2 (ja) * 2004-03-30 2010-03-31 株式会社ナビタイムジャパン 携帯型ナビゲーション装置
IL180833A (en) * 2007-01-21 2012-10-31 Israel Aerospace Ind Ltd Pedestrian navigation system and method
JP4931241B2 (ja) * 2007-09-25 2012-05-16 Kddi株式会社 歩行者の進行方向の方向転換を判定する携帯端末及びプログラム
US8989982B2 (en) * 2008-08-29 2015-03-24 Sony Corporation Velocity calculation device, velocity calculation method, and navigation device
JP2011064594A (ja) * 2009-09-17 2011-03-31 Sony Corp 角速度補正装置、角速度補正方法、ナビゲーション装置及びナビゲーション機能付携帯電話機
JP2012037452A (ja) * 2010-08-10 2012-02-23 Panasonic Corp 歩行方位検出装置および歩行方位検出方法
JP5704561B2 (ja) 2011-01-12 2015-04-22 独立行政法人産業技術総合研究所 進行方向推定装置、携帯端末、制御プログラム、コンピュータ読み取り可能な記録媒体、および進行方向推定方法
JP2012242179A (ja) 2011-05-17 2012-12-10 Sony Corp 進行方位算出装置、進行方位算出方法及び進行方位算出プログラム並びにナビゲーション装置
JP5082001B2 (ja) 2011-08-15 2012-11-28 株式会社日立製作所 物体の進行方向検知方法、位置検知方法、進行方向検知装置、位置検知装置、移動動態認識方法及び移動動態認識装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11187533B2 (en) 2017-04-05 2021-11-30 Sharp Kabushiki Kaisha Advancement direction calculation device, advancement direction determination method, and control program

Also Published As

Publication number Publication date
EP2951530B1 (en) 2019-03-13
EP2951530A1 (en) 2015-12-09
WO2014119799A1 (en) 2014-08-07
US10234293B2 (en) 2019-03-19
JP2014167460A (ja) 2014-09-11
CN105102928B (zh) 2018-04-06
CN105102928A (zh) 2015-11-25
US20150354967A1 (en) 2015-12-10
JP6322960B2 (ja) 2018-05-16
EP2951530A4 (en) 2016-03-09

Similar Documents

Publication Publication Date Title
US10234293B2 (en) Inertial device including an acceleration, method performed by the same, and program
EP2951529B1 (en) Inertial device, method, and program
Goyal et al. Strap-down pedestrian dead-reckoning system
US8758275B2 (en) Moving body posture angle processing device
JP5704561B2 (ja) 進行方向推定装置、携帯端末、制御プログラム、コンピュータ読み取り可能な記録媒体、および進行方向推定方法
US10408627B2 (en) Inertial device to estimate position based on corrected movement velocity
JP6852310B2 (ja) 慣性装置、プログラム、測位方法
JP2011503571A (ja) 物体の方位測定
Van Nguyen et al. Real-time human foot motion localization algorithm with dynamic speed
JP6548305B2 (ja) 進行方向推定装置及び進行方向推定方法
JP2015190850A (ja) 誤差推定方法、運動解析方法、誤差推定装置及びプログラム
Abbate et al. Development of a MEMS based wearable motion capture system
JP2013122384A (ja) カルマンフィルタ、及び、状態推定装置
JP2015017858A (ja) 参照値生成装置及び参照値生成方法
Sang et al. A self-developed indoor three-dimensional pedestrian localization platform based on MEMS sensors
JP2015184158A (ja) 誤差推定方法、運動解析方法、誤差推定装置及びプログラム
Cho et al. Gyro signal processing-based stance phase detection method in foot mounted PDR
Wang et al. Posture recognition and adaptive step detection based on hand-held terminal
Sessa et al. Ultra-miniaturized WB-3 Inertial Measurement Unit: Performance evaluation of the attitude estimation
CN107289935B (zh) 一种适用于可穿戴设备的室内导航算法
CN110579212B (zh) 室内定位方法及装置
Gao et al. Data fusion with two nonlinear constraints on Kalman filtering
Fahmy Android smartphone usage as a pedestrian tracking system
Mukhina et al. Comparison of time domain step counting method for pedestrian dead reckoning
JP2019219187A (ja) 位置計測装置および位置計測方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application