KR20210066698A - 관성 센서 기반의 위치 추정 방법 및 장치 - Google Patents

관성 센서 기반의 위치 추정 방법 및 장치 Download PDF

Info

Publication number
KR20210066698A
KR20210066698A KR1020200107376A KR20200107376A KR20210066698A KR 20210066698 A KR20210066698 A KR 20210066698A KR 1020200107376 A KR1020200107376 A KR 1020200107376A KR 20200107376 A KR20200107376 A KR 20200107376A KR 20210066698 A KR20210066698 A KR 20210066698A
Authority
KR
South Korea
Prior art keywords
foot
inertial sensor
position estimation
processor
gait
Prior art date
Application number
KR1020200107376A
Other languages
English (en)
Other versions
KR102433029B1 (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 KR20210066698A publication Critical patent/KR20210066698A/ko
Application granted granted Critical
Publication of KR102433029B1 publication Critical patent/KR102433029B1/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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/112Gait analysis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Pathology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Dentistry (AREA)
  • Physiology (AREA)
  • Navigation (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

관성 센서 기반의 위치 추정 방법 및 장치가 개시된다. 일 실시예에 따른 관성 센서 기반의 위치 추정 방법은 각 발의 센서 데이터를 수집하는 단계, 센서 데이터에 기초하여, 각 발의 항법 정보를 계산하는 단계, 항법 정보에 기초하여, 각 발의 보행 주기를 판단하는 단계 및 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 단계를 포함한다.

Description

관성 센서 기반의 위치 추정 방법 및 장치{METHOD AND APPARATUS FOR POSITION ESTIMATION BASED ON IMU}
아래 실시예들은 관성 센서 기반의 위치 추정 방법 및 장치에 관한 것으로, 보다 자세하게는 보행 동작을 고려한 두 신발의 관성센서 기반 보행 항법 시스템에 관한 것이다.
국내외적으로 IT 기술이 발달하면서 실내외공간에서의 위치인식 서비스에 대한 요구가 늘어나고 있다. 실외에서는 주로 GPS를 사용하여 위치를 추정하고, 실내에서는 WiFi AP나 BLE 비콘과 같이 무선 신호 정보를 이용해 위치를 추정하는 방법이 있다. 또 다른 방법으로는, 보행자가 관성센서가 부착된 특수한 신발을 신었을 때, 디바이스에 내장되어 있는 관성 센서(IMU; Inertia Measurement Unit)의 신호와 보행 특성을 이용하여 보행자의 위치를 추정하는 보행 항법이 있다.
신발에 부착된 관성센서 기반 보행 항법은 관성센서에서 측정되는 가속도와 각속도를 적분하여 위치, 속도, 자세를 계산하는 관성 항법을 기반으로 한다. 종래의 기술은 입각중기 동안의 신발의 움직임이 0이라고 가정하여 확장 칼만 필터(EKF: Extended Kalman Filter)를 적용한다. 하지만, 속도만을 측정치로 사용하기 때문에 방위각과 위치 오차를 보정하지 못하고, 보행을 하면서 점차 오차가 누적되는 문제점이 있다. WiFi AP 등의 무선 신호 정보를 이용할 경우, 위치 측정치를 계산할 수 있어서 상기 문제를 해결할 수 있지만, 사전에 무선 인프라 정보에 대한 데이터 베이스가 구축되어 있어야 한다는 한계가 있다.
실시예들은 신발에 장착된 관성 센서만을 사용하여 보행주기를 고려한 위치 측정치를 계산함으로써, 점차 누적되는 위치 오차를 보정하고자 한다.
실시예들은 보행 주기를 고려한 두 신발의 관성센서 기반 보행 항법 시스템은 외부 인프라(예를 들어, WiFi AP, BLE 등) 정보 없이도 보행자가 신고 있는 신발에 내장된 관성센서를 이용하여 실내에서 보행시 위치 추정을 수행하고자 한다.
일 실시예에 따른 관성 센서 기반의 위치 추정 방법은 각 발의 센서 데이터를 수집하는 단계; 상기 센서 데이터에 기초하여, 상기 각 발의 항법 정보를 계산하는 단계; 상기 항법 정보에 기초하여, 상기 각 발의 보행 주기를 판단하는 단계; 및 상기 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 단계를 포함한다.
상기 각 발의 보행 주기를 판단하는 단계는 오차가 보정된 가속도 추정치에 기초하여, 특정 발이 상기 입각중기에 해당하는지 판단하는 단계를 포함할 수 있다.
상기 특정 발이 상기 입각중기에 해당하는지 판단하는 단계는 상기 특정 발의 상기 오차가 보정된 가속도 추정치가 미리 정해진 임계값 미만인지 판단하는 단계를 포함할 수 있다.
상기 입각중기에 대응하는 발의 위치를 보정하는 단계는 특정 발이 입각중기에 해당하는 동안, 다른 발의 위치를 추정하는 단계; 및 상기 다른 발의 위치에 기초하여, 상기 입각중기에 대응하는 발의 위치를 보정하는 단계를 포함할 수 있다.
상기 입각중기에 대응하는 발의 위치를 보정하는 단계는 상기 다른 발의 위치의 평균을 계산하는 단계; 및 상기 평균을 이용하여, 상기 입각중기에 대응하는 발의 위치를 보정하는 단계를 포함할 수 있다.
상기 센서 데이터를 수집하는 단계는 상기 각 발에 부착된 관성 센서를 이용하여, 상기 각 발의 가속도 및 각속도를 수집하는 단계를 포함할 수 있다.
상기 항법 정보를 계산하는 단계는 상기 센서 데이터를 적분하여 상기 각 발의 위치, 속도 및 자세 중 적어도 하나를 계산하는 단계를 포함할 수 있다.
상기 항법 정보를 계산하는 단계는 확장 칼만 필터를 이용하여 상기 센서 데이터의 오차를 보정하는 단계를 포함할 수 있다.
일 실시예에 따른 관성 센서 기반의 위치 추정 장치는 각 발의 센서 데이터를 수집하고, 상기 센서 데이터에 기초하여, 상기 각 발의 항법 정보를 계산하고, 상기 항법 정보에 기초하여, 상기 각 발의 보행 주기를 판단하고, 상기 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 프로세서를 포함한다.
상기 프로세서는 오차가 보정된 가속도 추정치에 기초하여, 특정 발이 상기 입각중기에 해당하는지 판단할 수 있다.
상기 프로세서는 상기 특정 발의 상기 오차가 보정된 가속도 추정치가 미리 정해진 임계값 미만인지 판단할 수 있다.
상기 프로세서는 특정 발이 입각중기에 해당하는 동안, 다른 발의 위치를 추정하고, 상기 다른 발의 위치에 기초하여, 상기 입각중기에 대응하는 발의 위치를 보정할 수 있다.
상기 프로세서는 상기 다른 발의 위치의 평균을 계산하고, 상기 평균을 이용하여, 상기 입각중기에 대응하는 발의 위치를 보정할 수 있다.
상기 프로세서는 상기 각 발에 부착된 관성 센서를 이용하여, 상기 각 발의 가속도 및 각속도를 수집할 수 있다.
상기 프로세서는 상기 센서 데이터를 적분하여 상기 각 발의 위치, 속도 및 자세 중 적어도 하나를 계산할 수 있다.
상기 프로세서는 확장 칼만 필터를 이용하여 상기 센서 데이터의 오차를 보정할 수 있다.
실시예들은 신발에 장착된 관성 센서만을 사용하여 보행주기를 고려한 위치 측정치를 계산함으로써, 점차 누적되는 위치 오차를 보정할 수 있다.
실시예들은 보행 주기를 고려한 두 신발의 관성센서 기반 보행 항법 시스템은 외부 인프라(예를 들어, WiFi AP, BLE 등) 정보 없이도 보행자가 신고 있는 신발에 내장된 관성센서를 이용하여 실내에서 보행시 위치 추정을 수행할 수 있다.
도 1은 일 예에 따른 보행 위상을 도시한다.
도 2는 일 예에 따른 보행 위상들 간의 천이를 도시한다.
도 3a는 일 실시예에 따른 위치 추정 장치의 블록도이다.
도 3b는 일 실시예에 따른 프로세서의 블록도이다.
도 4는 일 실시예에 따른 위치 추정 방법을 설명하기 위한 순서도이다.
도 5는 일 실시예에 따른 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 보행 항법 시스템을 이용하여 계산한 보행 궤적과 종래의 기술을 이용하여 계산한 보행 궤적을 비교한 도면이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
GPS를 활용한 내비게이션의 경우 보통 5~10m의 위치 오차가 발생하고, 특히 실내에서는 그 오차가 더 증가한다. 이에, 보행자가 관성센서가 부착된 특수한 신발을 신었을 때, 디바이스에 내장되어 있는 관성 센서(IMU; Inertia Measurement Unit)의 신호와 보행 특성을 이용하여 보행자의 위치를 추정하는 보행 항법이 제안된다. 그러나, 관성 센서는 속도만을 측정치로 사용하기 때문에 방위각과 위치 오차를 보정하지 못하고, 보행을 하면서 점차 오차가 누적되는 문제점이 있다. 예를 들어, 의자에 앉아 있더라도 5분이나 10분 정도 시간이 흐르면 상당한 거리를 움직인 것으로 나올 수 있다. 일 실시예에 따른 위치 추정 방법은 GPS의 도움 없이 신발에 부착된 IMU 센서만을 이용하여 실내와 실외에서 위치를 정확하게 측정할 수 있다. 일 실시예에 따른 위치 추정 방법에 관한 상세한 내용을 설명하기에 앞서, 도 1 내지 도 2를 참조하여 보행 위상(gait phase)에 관한 내용을 먼저 설명한다.
도 1은 일 예에 따른 보행 위상을 도시한다.
도 1을 참조하면, 보행(gait)에 대한 사용자의 어느 한쪽의 다리의 보행 위상(gait phase)들은 미리 정의될 수 있다. 예를 들어, 보행 위상들은 입각기(stance) 및 유각기(swing)를 포함할 수 있다. 왼쪽 다리의 보행 위상들은 왼쪽 입각기(left stance: LSt) 및 왼쪽 유각기(left swing: LSw)로 구분될 수 있다. 오른쪽 다리의 보행 위상들은 오른쪽 입각기(right stance: RSt) 및 오른쪽 유각기(right swing: RSw)로 구분될 수 있다. 용어 '보행 위상'은 용어 '보행 상태(gait state)'와 서로 교환적으로 사용될 수 있다.
일 측면에 따르면, 입각기 및 유각기는 복수의 위상들로 더욱 세분화될 수 있다. 예를 들어, 입각기는 초기 접촉(initial contact), 체중 부하(weight bearing), 입각기 중기(middle stance), 입각기 말기(terminal stance), 및 전 유각기(pre swing)으로 세분화될 수 있다. 유각기는 초기 유각기(initial swing), 중간 유각기(middle swing) 및 말기 유각기(terminal swing)로 세분화될 수 있다. 입각기 및 유각기는 실시예에 따라 다르게 세분화될 수 있고, 기재된 실시예로 한정되지 않는다.
다른 예로, 입각기는 발꿈치 닿기(heel strike), 부하 반응기(Landing response), 중간 입각기(mid-stance), 말기 입각기(terminal stance), 및 전-유각기(pre-swing)으로 세분화될 수 있다. 유각기는 초기 유각기(initial swing), 중간 유각기(mid-swing) 및 말기 유각기(terminal swing)으로 세분화될 수 있다. 입각기 및 유각기는 실시예에 따라 다르게 세분화될 수 있고, 기재된 실시예로 한정되지 않는다.
도 2는 일 예에 따른 보행 위상들 간의 천이를 도시한다.
도 2를 참조하면, 일반적인 보행 메카니즘(gait mechanism)에 따르면, 각각의 다리의 보행 위상들은 입각기 및 유각기를 포함하고, 보행을 위해 입각기 및 유각기가 번갈아 가면서 수행된다.
보행에 따른 오른쪽 다리의 변화(200)에 대한 오른쪽 보행 위상(210)은 오른쪽 입각기 및 오른쪽 유각기를 포함한다. 입각기는 체중 부하, 입각기 중기, 및 입각기 말기를 포함할 수 있으나, 개시 및 도시된 실시예에 한정되지 않는다. 오른쪽 다리의 변화(200)에 대해, 왼쪽의 다리의 변화(도시되지 않음)에 대한 왼쪽 보행 위상(220)은 왼쪽 입각기 및 왼쪽 유각기를 포함한다.
정상적의 보행 위상의 천이는, 보행 시작 시의 보행 위상에 따라 다를 수 있으나, 각각의 보행 위상의 시작을 나타내는 이벤트의 발생 순서의 기준으로, 오른쪽 입각기, 왼쪽 유각기, 왼쪽 입각기 및 오른쪽 유각기의 순서로 보행 위상들이 천이한다. 오른쪽 유각기 이후에는 오른쪽 입각기가 재 수행된다.
일 실시예에 따른 위치 추정 방법은 신발에 장착된 관성 센서만을 사용하여 보행주기를 고려한 위치 측정치를 계산함으로써, 점차 누적되는 위치 오차를 보정할 수 있다. 아래에서, 도 3a 내지 도 6를 참조하여 사용자의 양발에 부착된 관성 센서만을 이용하여 위치를 추정하는 방법에 대해 상세히 설명된다.
도 3a는 일 실시예에 따른 위치 추정 장치의 블록도이다.
도 3a를 참조하면, 일 실시예에 따른 위치 추정 장치(300)는 적어도 하나의 센서(310), 통신부(320), 프로세서(330) 및 메모리(340)를 포함한다.
적어도 하나의 센서(310)는 IMU(Inertia measurement Unit)를 포함할 수 있다. IMU는 IMU의 움직임에 의해 발생하는 가속도를 측정할 수 있다. 예를 들어, IMU는 IMU 움직임에 상응하는 3축 가속도 및 3축 각속도를 측정할 수 있다. 적어도 하나의 센서(310)는 가속도와 각속도 이외의 센서 정보를 수집할 수도 있다.
통신부(320)는 센서(310), 프로세서(330) 및 메모리(340)와 연결되어 데이터를 송수신한다. 통신부(320)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.
통신부(320)는 위치 추정 장치(300) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(320)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(320)는 위치 추정 장치(300)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(320)는 인터페이스(interface)일 수 있다. 통신부(320)는 외부의 장치로부터 데이터를 수신하여, 프로세서(330) 및 메모리(340)에 데이터를 전송할 수 있다.
프로세서(330)는 통신부(320)가 수신한 데이터 및 메모리(340)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(330)는 메모리(예를 들어, 메모리(340))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(330)에 의해 유발된 인스트럭션들을 실행한다.
메모리(340)는 통신부(320)가 수신한 데이터 및 프로세서(330)가 처리한 데이터를 저장한다. 예를 들어, 메모리(340)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 사용자의 보행을 보조할 수 있도록 코딩되어 프로세서(330)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 측면에 따르면, 메모리(340)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(340)는 위치 추정 장치(300)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 위치 추정 장치(300)를 동작 시키는 명령어 세트는 프로세서(330)에 의해 실행된다.
센서(310), 통신부(320), 프로세서(330) 및 메모리(340)에 대해, 아래에서 도 3b 내지 도 6을 참조하여 상세히 설명된다.
도 3b는 일 실시예에 따른 프로세서의 블록도이다.
도 3b를 참조하면, 일 실시예에 따른 프로세서(330)는 센서 데이터 수집부(331), 항법 정보 계산부(333), 보행 주기 판단부(335) 및 위치 정보 보정부(337)를 포함할 수 있다. 도 3b의 실시 예에서 프로세서(330)의 각각의 구성요소들은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다. 따라서 실제로 제품을 구현하는 경우에 이들 모두를 프로세서(330)에서 처리하도록 구성할 수도 있으며, 이들 중 일부만을 프로세서(330)에서 처리하도록 구성할 수도 있다.
일 실시예에 따른 센서 데이터 수집부(331)는 신발에 부착된 관성 센서로부터 가속도와 각속도 측정치를 수집할 수 있다.
일 실시예에 따른 항법 정보 계산부(333)는 수집된 센서 데이터에 대하여 적분을 통해 항법 정보를 계산하고 확장 칼만 필터를 사용하여 오차를 보정할 수 있다. 항법 정보 계산부(333)는 확장 칼만 필터를 이용하여 위치오차, 속도오차, 자세오차, 가속도 바이어스를 상태 변수로 구성하고, 입각중기 동안에 영속도 보정을 이용하여 속도 및 자세 오차를 보정할 수 있다.
일 실시예에 따른 보행 주기 판단부(335)는 가속도 추정치를 사용하여 보행주기를 판단하고 위치 측정치를 계산할 수 있다. 보행 주기 판단부(335)는 가속도 추정치를 사용하여 3가지 판단 기준에 따라 입각중기를 결정할 수 있다. 보행 주기 판단부(335)는 입각중기에 대해서 반대편 신발의 위치 추정치를 사용하여 위치 추정치를 계산할 수 있다.
일 실시예에 따른 위치 정보 보정부(337)는 계산된 위치 측정치를 사용하여 위치 오차를 보정할 수 있다. 위치 정보 보정부(337)는 입각중기가 끝나는 신발에 대해서 위치 추정치를 사용하여 위치를 보정할 수 있다.
도 4는 일 실시예에 따른 위치 추정 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 단계들(410 내지 440)은 도 3a 내지 도 3b를 참조하여 전술한 위치 추정 장치(300)에 의해 수행될 수 있다. 위치 추정 장치(300)는 하나 또는 그 이상의 하드웨어 모듈, 하나 또는 그 이상의 소프트웨어 모듈, 또는 이들의 다양한 조합에 의하여 구현될 수 있다.
단계(410)에서, 위치 추정 장치(300)는 각 발에 부착된 IMU로부터 센서 데이터를 수집한다. 구체적으로, 센서 데이터 수집부(331)는 신발에 부착된 관성 센서로부터 신발의 움직임에 따라 측정되는 가속도와 각속도 측정치를 수집할 수 있다. 예를 들어, 센서 데이터 수집부(331)는 양쪽 신발에 부착된 관성 센서로부터 3축 가속도 및 3축 각속도 값을 일정주기(예를 들어, 100Hz)로 입력 받을 수 있다.
단계(420)에서, 위치 추정 장치(300)는 센서 데이터에 기초하여, 각 발의 항법 정보를 계산한다. 구체적으로, 항법 정보 계산부(333)는 센서 데이터를 적분하여 신발의 위치, 속도 및 자세를 포함하는 항법 정보를 계산할 수 있다. 항법 정보는 신발의 위치, 속도 및 자세 등을 포함할 수 있다. 항법 정보는 관성 센서의 위치, 속도 및 자세를 의미하지만 관성 센서가 신발에 부착되어 있기 때문에 항법 정보는 신발의 위치, 속도 및 자세로 표현할 수 있다.
또한, 항법 정보 계산부(333)는 확장 칼만 필터를 이용하여 입각중기에서 신발의 속도 오차를 보정할 수 있다. 확장 칼만 필터의 상태변수는 위치오차, 속도오차, 자세오차, 가속도 바이어스로 구성될 수 있다. 항법 정보 계산부(333)는 각 상태 변수들에 대해 예측단계와 보정단계를 적용하여 추정된 오차를 제거할 수 있다. 항법 정보 계산부(333)는 오차가 보정된 가속도 추정치를 보행 주기 판단부(130)에 전달할 수 있다.
단계(430)에서, 위치 추정 장치(300)는 항법 정보에 기초하여 각 발의 보행 주기를 판단한다. 구체적으로, 보행 주기 판단부(335)는 오차가 보정된 가속도 추정치에 기초하여, 특정 발이 상기 입각중기에 해당하는지 판단할 수 있다. 전술한 바와 같이, 입각중기는 체중이 하지를 바로 통과하게 되는 시기로 정의되고, 유각기는 발이 땅에서 떨어져 공중에 있는 시기로 정의될 수 있다. 보행 주기 판단부(335)는 특정 발의 오차가 보정된 가속도 추정치가 미리 정해진 임계값 미만인 경우, 해당 발이 입각중기에 해당한다고 판단한다.
구체적으로, 보행 주기 판단부(335)는 항법 정보 계산부(333)로부터 오차가 보정된 가속도 추정치를 수신할 수 있고, 하기 수학식 1에 따라 E, P, S를 계산할 수 있다. E, P, S는 각 Energy, Product 및 Sum의 약자이며, 가속도 추정치의 x, y, z축 정보인 ax, ay, az, 중력가속도 g는 수학식 1에서와 같이 표현한다.
Figure pat00001
보행 주기 판단부(335)는 E, P, S가 각각 미리 정해진 임계값보다 작은지 판단할 수 있고, E, P, S가 각각 미리 정해진 임계값보다 작은 경우에 해당 발이 입각중기에 해당한다고 판단할 수 있다.
보행 주기 판단부(335)는 특정 발이 입각중기에 해당하는 동안, 다른 발의 위치를 추정할 수 있다. 구체적으로, 보행 주기 판단부(335)는 특정 발이 입각중기에 해당하는 동안, 유각기에 해당하는 다른 발의 위치를 추정할 수 있다. 보행 주기 판단부(335)는 입각중기가 아닌 반대편 발의 위치 추정치를 입각중기 동안 저장 후, 입각중기가 끝나는 시점에서 평균을 구할 수 있다.
단계(440)에서, 위치 추정 장치(300)는 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정한다. 구체적으로, 위치 정보 보정부(337)는 입각중기가 끝나는 시점에서 다른 발의 위치의 평균을 사용하여 입각중기였던 발의 위치를 보정할 수 있다. 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 상세한 방법은 아래에서 도 5를 참조하여 후술한다.
도 5는 일 실시예에 따른 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 왼발이 입각중기일 때, 오른발은 유각기임을 알 수 있다. 입각중기에 해당하는 왼발의 위치를 관성 센서만을 이용하여 추정하는 경우, 속도만을 측정치로 사용하기 때문에 방위각과 위치 오차를 보정하지 못하고, 오차가 점점 누적될 수 있다. 이에, 위치 추정 장치(300)는 유각기에 해당하는 오른발의 위치를 이용하여 왼발의 위치를 보정할 수 있다. 위치 추정 장치(300)는 왼발이 입각중기에 있는 동안 오른발의 위치를 추정할 수 있고, 왼발이 입각중기가 끝나는 시점에서 오른발의 위치의 평균을 계산하여 왼발의 위치를 보정할 수 있다. 구체적으로, 위치 추정 장치(300)는 하기 수학식 2에 따라 입각중기에 해당하는 발의 위치를 보정할 수 있다.
Figure pat00002
수학식 2에서 i, j는 신발의 방향을 의미하며 왼발(left)와 오른발(right)가 될 수 있다. 만일 i가 입각중기인 발이라면, j는 반대편 발을 의미한다. P는 항법 정보 계산부(333)에서 추정한 위치 오차의 공분산이며,
Figure pat00003
는 위치 추정치이다. V는 공분산의 역행렬인 information 행렬이며, v는 추정 위치를 보정하기 위한 임의의 변수이다. 수학식 2에서
Figure pat00004
는 보정 비율로 임의로 설정할 수 있다. 수학식 2의 M번 반복계산을 통해서 계산된
Figure pat00005
는 오차가 보정된 위치 추정치를 의미하며, 해당 결과를
Figure pat00006
Figure pat00007
에 대입함으로써 입각중기인 신발의 위치가 보정될 수 있다.
도 6은 일 실시예에 따른 보행 항법 시스템을 이용하여 계산한 보행 궤적과 종래의 기술을 이용하여 계산한 보행 궤적을 비교한 도면이다.
도 6을 참조하면, 미리 정해진 동일한 경로를 3바퀴 반복하여 걸었을 경우에 종래의 기술을 이용하여 보행 궤적을 추정한 경우에는 오른발과 왼발의 궤적이 점차 틀어진다. 반면에, 일 실시예에 따른 위치 추정 방법을 이용하여 추정한 보행 궤적은 3바퀴 반복을 하여도 궤적이 틀어지지 않음을 알 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 각 발의 센서 데이터를 수집하는 단계;
    상기 센서 데이터에 기초하여, 상기 각 발의 항법 정보를 계산하는 단계;
    상기 항법 정보에 기초하여, 상기 각 발의 보행 주기를 판단하는 단계; 및
    상기 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 단계
    를 포함하는 관성 센서 기반의 위치 추정 방법.
  2. 제1항에 있어서,
    상기 각 발의 보행 주기를 판단하는 단계는
    오차가 보정된 가속도 추정치에 기초하여, 특정 발이 상기 입각중기에 해당하는지 판단하는 단계
    를 포함하는, 관성 센서 기반의 위치 추정 방법.
  3. 제2항에 있어서,
    상기 특정 발이 상기 입각중기에 해당하는지 판단하는 단계는
    상기 특정 발의 상기 오차가 보정된 가속도 추정치가 미리 정해진 임계값 미만인지 판단하는 단계
    를 포함하는, 관성 센서 기반의 위치 추정 방법.
  4. 제1항에 있어서,
    상기 입각중기에 대응하는 발의 위치를 보정하는 단계는
    특정 발이 입각중기에 해당하는 동안, 다른 발의 위치를 추정하는 단계; 및
    상기 다른 발의 위치에 기초하여, 상기 입각중기에 대응하는 발의 위치를 보정하는 단계
    를 포함하는, 관성 센서 기반의 위치 추정 방법.
  5. 제4항에 있어서,
    상기 입각중기에 대응하는 발의 위치를 보정하는 단계는
    상기 다른 발의 위치의 평균을 계산하는 단계; 및
    상기 평균을 이용하여, 상기 입각중기에 대응하는 발의 위치를 보정하는 단계
    를 포함하는, 관성 센서 기반의 위치 추정 방법.
  6. 제1항에 있어서,
    상기 센서 데이터를 수집하는 단계는
    상기 각 발에 부착된 관성 센서를 이용하여, 상기 각 발의 가속도 및 각속도를 수집하는 단계
    를 포함하는, 관성 센서 기반의 위치 추정 방법.
  7. 제1항에 있어서,
    상기 항법 정보를 계산하는 단계는
    상기 센서 데이터를 적분하여 상기 각 발의 위치, 속도 및 자세 중 적어도 하나를 계산하는 단계
    를 포함하는, 관성 센서 기반의 위치 추정 방법.
  8. 제1항에 있어서,
    상기 항법 정보를 계산하는 단계는
    확장 칼만 필터를 이용하여 상기 센서 데이터의 오차를 보정하는 단계
    를 포함하는, 관성 센서 기반의 위치 추정 방법.
  9. 하드웨어와 결합되어 제1항 내지 제8항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  10. 각 발의 센서 데이터를 수집하고, 상기 센서 데이터에 기초하여, 상기 각 발의 항법 정보를 계산하고, 상기 항법 정보에 기초하여, 상기 각 발의 보행 주기를 판단하고, 상기 보행 주기에 기초하여, 입각중기에 대응하는 발의 위치를 보정하는 프로세서
    를 포함하는 관성 센서 기반의 위치 추정 장치.
  11. 제10항에 있어서,
    상기 프로세서는
    오차가 보정된 가속도 추정치에 기초하여, 특정 발이 상기 입각중기에 해당하는지 판단하는, 관성 센서 기반의 위치 추정 장치.
  12. 제11항에 있어서,
    상기 프로세서는
    상기 특정 발의 상기 오차가 보정된 가속도 추정치가 미리 정해진 임계값 미만인지 판단하는, 관성 센서 기반의 위치 추정 장치.
  13. 제10항에 있어서,
    상기 프로세서는
    특정 발이 입각중기에 해당하는 동안, 다른 발의 위치를 추정하고, 상기 다른 발의 위치에 기초하여, 상기 입각중기에 대응하는 발의 위치를 보정하는, 관성 센서 기반의 위치 추정 장치.
  14. 제13항에 있어서,
    상기 프로세서는
    상기 다른 발의 위치의 평균을 계산하고, 상기 평균을 이용하여, 상기 입각중기에 대응하는 발의 위치를 보정하는, 관성 센서 기반의 위치 추정 장치.
  15. 제10항에 있어서,
    상기 프로세서는
    상기 각 발에 부착된 관성 센서를 이용하여, 상기 각 발의 가속도 및 각속도를 수집하는, 관성 센서 기반의 위치 추정 장치.
  16. 제10항에 있어서,
    상기 프로세서는
    상기 센서 데이터를 적분하여 상기 각 발의 위치, 속도 및 자세 중 적어도 하나를 계산하는, 관성 센서 기반의 위치 추정 장치.
  17. 제10항에 있어서,
    상기 프로세서는
    확장 칼만 필터를 이용하여 상기 센서 데이터의 오차를 보정하는, 관성 센서 기반의 위치 추정 장치.
KR1020200107376A 2019-11-27 2020-08-25 관성 센서 기반의 위치 추정 방법 및 장치 KR102433029B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190154611 2019-11-27
KR20190154611 2019-11-27

Publications (2)

Publication Number Publication Date
KR20210066698A true KR20210066698A (ko) 2021-06-07
KR102433029B1 KR102433029B1 (ko) 2022-08-19

Family

ID=76374565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200107376A KR102433029B1 (ko) 2019-11-27 2020-08-25 관성 센서 기반의 위치 추정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102433029B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117731276A (zh) * 2024-02-19 2024-03-22 天津大学 一种信息处理方法和可穿戴设备
WO2024101946A1 (ko) * 2022-11-10 2024-05-16 주식회사 윌로그 선박의 해상 운송 환경을 센싱 및 보정하기 위한 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140126939A (ko) * 2013-04-24 2014-11-03 그리드스페이스(주) 오차 보정 위치 추적 장치 및 방법과 이를 실행하기 위한 프로그램이 기록된 기록매체
KR20190120638A (ko) * 2018-04-16 2019-10-24 한국전자통신연구원 신발 모델을 이용한 보행 항법 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140126939A (ko) * 2013-04-24 2014-11-03 그리드스페이스(주) 오차 보정 위치 추적 장치 및 방법과 이를 실행하기 위한 프로그램이 기록된 기록매체
KR20190120638A (ko) * 2018-04-16 2019-10-24 한국전자통신연구원 신발 모델을 이용한 보행 항법 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101946A1 (ko) * 2022-11-10 2024-05-16 주식회사 윌로그 선박의 해상 운송 환경을 센싱 및 보정하기 위한 장치 및 방법
CN117731276A (zh) * 2024-02-19 2024-03-22 天津大学 一种信息处理方法和可穿戴设备
CN117731276B (zh) * 2024-02-19 2024-04-19 天津大学 一种信息处理方法和可穿戴设备

Also Published As

Publication number Publication date
KR102433029B1 (ko) 2022-08-19

Similar Documents

Publication Publication Date Title
US11865709B2 (en) Assisting torque setting method and apparatus
US10835405B2 (en) Method and apparatus for walking assist
US8548740B2 (en) System and method for wavelet-based gait classification
KR102433029B1 (ko) 관성 센서 기반의 위치 추정 방법 및 장치
US10267646B2 (en) Method and system for varying step length estimation using nonlinear system identification
KR101988718B1 (ko) 헬스케어 및 스마트라이프로거를 위한 걸음걸이 분석 방법 및 시스템
KR20160031246A (ko) 보행 환경 인식 방법 및 장치
KR101808095B1 (ko) 사용자 단말의 위치 측정 방법 및 장치
US20180263532A1 (en) Technologies for indicating detection of toe walking
KR102454972B1 (ko) 보행 보조 장치의 토크 출력 방법 및 장치
KR101718392B1 (ko) 신발에 부착된 관성 센서를 이용하여 보폭 정보를 계산하는 휴대 단말 및 그 방법
US11497443B2 (en) Smart shoe based on recognition of combined walking action and data processing method thereof
CN108836344A (zh) 步长步频估算方法和装置及步态检测仪
KR20160106756A (ko) 관성 장치, 제어 방법 및 프로그램
US20180103352A1 (en) Position calculation divce and position calculation method
US20230277093A1 (en) Information processing apparatus and operating method thereof
KR102581198B1 (ko) 신발 모델을 이용한 보행 항법 장치 및 그 방법
JP7259982B2 (ja) 歩容計測システム、歩容計測方法、およびプログラム
US20240049987A1 (en) Gait measurement system, gait measurement method, and program recording medium
Yuan et al. Human velocity tracking and localization using 3 IMU sensors
US20120130284A1 (en) System and method for constructing distance estimate models for personal navigation
KR20230083826A (ko) 보행자의 이동 정보를 추정하기 위한 장치 및 그 동작 방법
WO2020105115A1 (ja) 歩容計測システム、歩容計測方法、およびプログラム記録媒体
JP7279798B2 (ja) 推定装置、推定方法、プログラム
KR102575980B1 (ko) 신경계 관련 질병의 판단 및 진행속도 추정을 위한 환자의 환자정보와 보행정보를 처리하는 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right