KR101831891B1 - 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램 - Google Patents

위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램 Download PDF

Info

Publication number
KR101831891B1
KR101831891B1 KR1020140133550A KR20140133550A KR101831891B1 KR 101831891 B1 KR101831891 B1 KR 101831891B1 KR 1020140133550 A KR1020140133550 A KR 1020140133550A KR 20140133550 A KR20140133550 A KR 20140133550A KR 101831891 B1 KR101831891 B1 KR 101831891B1
Authority
KR
South Korea
Prior art keywords
acceleration
user
value
movement direction
geomagnetism
Prior art date
Application number
KR1020140133550A
Other languages
English (en)
Other versions
KR20160040042A (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 네이버 주식회사
Priority to KR1020140133550A priority Critical patent/KR101831891B1/ko
Publication of KR20160040042A publication Critical patent/KR20160040042A/ko
Application granted granted Critical
Publication of KR101831891B1 publication Critical patent/KR101831891B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • G01P13/0006Indicating or recording presence, absence, or direction, of movement of fluids or of granulous or powder-like substances
    • G01P13/0053Indicating or recording presence, absence, or direction, of movement of fluids or of granulous or powder-like substances by using dynamo-electric effect
    • 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/18Stabilised platforms, e.g. by gyroscope
    • 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
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P1/00Details of instruments
    • G01P1/02Housings
    • G01P1/026Housings for speed measuring devices, e.g. pulse generator
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P1/00Details of instruments
    • G01P1/12Recording devices
    • G01P1/127Recording devices for acceleration values

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

위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램{Apparatus and method for position calculation, and computer program for executing the method}
본 발명의 실시예들은 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램에 관한 것이다.
최근 이동통신 단말기 또는 개인 휴대 정보 단말기(Personal Digital Assistant: 이하 PDA라 함)등의 휴대용 단말기는 휴대의 편리성 때문에 사용이 급격히 확산되고 있는 추세이다. 따라서, 서비스 제공자(단말기 제조자)들은 많은 사용자를 확보하기 위해 더욱 편리한 기능을 갖는 휴대용 단말기를 경쟁적으로 개발하고 있다.
예를 들어, 휴대용 단말기는 폰북(phone book), 게임(game), 스케쥴러(Scheduler), 단문 메시지 서비스(short message Service), 멀티미디어 메시지 서비스(Multimedia message service), 방송메시지서비스(Cell broadcasting service), 인터넷 서비스(internet Service), 이메일(e-mail), 모닝콜(morning call), MP3(MPEG Layer 3), 디지털 카메라(Digital camera) 등의 기능을 제공하고 있다. 뿐만 아니라, 이와 같은 휴대용 단말기는 그 조작방법을 버튼으로 이루어진 키패드 또는 터치 스크린 등에만 의존하지 않고, 단말기 자체의 움직임 및 기울임을 조작방법으로 사용할 수 있게 되었다.
특히, 인터넷 서비스(internet Service)를 이용한 지도 서비스에 대한 사용자들의 이용이 증가하면서, 보다 정확하고 다양한 지도 서비스를 제공하기 위해, 이동통신 단말기를 소지하고 있는 사용자의 걸음수 추출 및 이동방향 추출 방법과 같은, 사용자의 위치를 추정하기 위한 다양한 방법들이 개발되고 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 실시예들은 사용자 걸음수 추출의 정확도가 향상되는 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램을 제공한다.
또한, 본 발명의 실시예들은 경우에 따라 사용자 이동방향 추출 방법을 가변적으로 적용함으로써, 보다 안정적이고 정확하면서도 신속하게 사용자의 현재 이동방향을 추정할 수 있는 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램을 제공한다.
본 발명의 일 실시예는 자신의 현재 위치를 추정하기 위한 위치 추정 장치에 있어서, 상기 위치 추정 장치의 하나 이상의 위치 정보를 검출하는 센서부; 및 상기 센서부에서 검출된 위치 정보로부터 획득한 중력 방향의 순간 가속도 값이 극값(極값)일 경우, 이를 사용자의 한걸음으로 판단하는 사용자 걸음 추출부;를 포함하는, 위치 추정 장치를 제공한다.
본 발명의 다른 일 실시예는 자신의 현재 위치를 추정하기 위한 위치 추정 장치에 있어서, 상기 위치 추정 장치의 하나 이상의 위치 정보를 검출하는 센서부; 및 상기 센서부에서 검출된 위치 정보로부터 획득한 상기 위치 추정 장치의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 필터 처리한 결과값(E)을 연산하고, 상기 가속도 및 지자기 기반 이동방향(Z)이 소정 범위에 속하는지 여부에 따라, 현재 이동방향을 상기 필터 처리한 결과값(E)또는 상기 가속도 및 지자기 기반 이동방향(Z)으로 결정하는 사용자 이동방향 추출부;를 포함하는 위치 추정 장치를 제공한다.
본 발명의 다른 일 실시예는 위치 추정 장치를 이용하여 현재 위치를 추정하기 위한 위치 추정 방법에 있어서, 상기 위치 추정 장치의 하나 이상의 위치 정보를 검출하는 단계; 및 상기 검출된 위치 정보로부터 획득한 중력 방향의 순간 가속도 값이 극값(極값)인지 여부를 판단하는 단계; 상기 중력 방향의 순간 가속도 값이 극값(極값)일 경우, 이를 사용자의 한걸음으로 판단하는 단계;를 포함하는, 위치 추정 방법을 제공한다.
본 발명의 다른 일 실시예는 위치 추정 장치를 이용하여 현재 위치를 추정하기 위한 위치 추정 방법에 있어서, 상기 위치 추정 장치의 하나 이상의 위치 정보를 검출하는 단계; 상기 검출된 위치 정보로부터 획득한 상기 위치 추정 장치의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 필터 처리한 결과값(E)을 연산하는 단계; 상기 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내인지 여부를 판단하는 단계; 및 상기 소정 범위 이내인지 여부에 기초하여 현재 이동 방향을 상기 필터 처리한 결과값(E) 또는 상기 가속도 및 지자기 기반 이동방향(Z) 중 어느 하나로 결정하는 단계;를 포함하는 위치 추정 방법을 제공한다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예들에 따른 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램에 의해, 사용자 걸음수 추출의 정확도가 향상되는 효과를 얻을 수 있다.
본 발명의 실시예들에 따른 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램에 의해, 경우에 따라 사용자 이동방향 추출 방법을 가변적으로 적용함으로써, 보다 안정적이고 정확하면서도 신속하게 사용자의 현재 이동방향을 추정할 수 있다.
도 1은 본 발명의 일 실시예에 따른 위치 추정 장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 위치 추정 장치의 상대 좌표계(device coordinate)와 기준 좌표계(world coordinate)를 나타내는 도면이다.
도 3은 시간에 따른 중력 방향의 순간 가속도 값(Xk)의 분포를 나타내는 그래프이다.
도 4 내지 도 6은 도 1의 위치 추정 장치에 의해 사용자의 위치를 추정하는 원리를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 위치 추정 방법의 흐름을 나타내는 도면이다.
도 8은 도 7의 위치 추정 방법의 S100 단계를 상세히 나타내는 도면이다.
도 9는 도 7의 위치 추정 방법의 S200 단계를 상세히 나타내는 도면이다.
도 10은 도 9의 위치 추정 방법의 S210 단계를 상세히 나타내는 도면이다.
도 11은 도 7의 위치 추정 방법의 S300 단계를 상세히 나타내는 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 위치 추정 장치(100)의 구성을 나타내는 도면이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 위치 추정 장치(100)는 네트워크 인터페이스부(101), 메모리(103), 입/출력부(105), 제어부(109), 센서부(110), 회전 매트릭스 획득부(120), 사용자 걸음 추출부(130), 사용자 이동방향 추출부(140), 사용자 위치 추정부(150)를 포함한다.
상세히, 네트워크 인터페이스부(101)는 통신망(미도시)과 연동하여, 외부의 서버 등으로부터 지도 서비스 등 각종 서비스를 제공받는데 필요한 통신 인터페이스를 제공한다.
메모리(103)는 제어부(109)가 처리하는 데이터를 임시로 저장하거나 위치 추정 장치(100)로 전송된 지도 데이터를 임시로 저장하는 기능을 한다.
입/출력부(105)는 터치 인식 디스플레이 제어기 또는 이외의 다양한 입출력 제어기로 구성될 수 있다. 일 예로, 터치 인식 디스플레이 제어기는 장치와 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공한다. 터치 인식 디스플레이 제어기는 전기 신호를 제어부(109)와 송수신한다. 또한, 터치 인식 디스플레이 제어기는 사용자에게 시각적인 출력을 표시하며, 시각적 출력은 텍스트, 그래픽, 이미지, 비디오와 이들의 조합을 포함할 수 있다. 이와 같은 입/출력부(105)는 예를 들어 터치 인식이 가능한 OLED(Organic light emitting display) 또는 LCD(Liquid crystal display)와 같은 소정의 디스플레이 부재일 수 있다.
제어부(109)는 일종의 중앙처리장치로서 위치 추정 장치(100)에서 위치 추정서비스를 제공하는 전체 과정을 제어한다. 즉, 제어부(109)는 프로그램 저장부(미도시)에 탑재된 제어 소프트웨어를 구동하고, 센서부(110)를 제어하여 사용자 위치 추정에 필요한 각종 위치 정보들을 획득하고, 사용자 걸음 추출부(130)를 제어하여 사용자가 걸음을 걸었는지 여부를 판단하고, 사용자 이동방향 추출부(140)를 제어하여, 사용자의 이동방향을 추출하는 등의 다양한 서비스를 제공한다.
센서부(110)는 위치 추정 장치(100)의 하나 이상의 위치 정보를 검출하는 역할을 수행한다. 이와 같은 센서부(110)는 가속도 센서(111)와, 지자기 센서(113)와, 자이로 센서(115)를 포함할 수 있다.
가속도 센서(111)는 특정 방향의 직선운동에 대한 속도의 증감비를 계산하여 움직임을 감지하는 역할을 한다. 다시 말하면, 가속도 센서(111)는 물체에 가해지는 가속도의 크기를 출력하는 것으로, 범위가 3축 방향인 3축 가속도 센서는 x,y,z축의 3축 방향의 3차원 공간에서 가속도를 측정할 수 있다. 이때, 3축 가속도 센서(111)의 출력값인 3축 가속도 값은, g=(gx, gy, gz)로 표현할 수 있다.
지자기(Geomagnetic) 센서(113)는 지구 자기장을 이용해 방위각을 탐지하여 동서남북을 감지하여 주는 역할을 한다. 지자기 센서(113) 내에는 자기장의 세기를 측정할 수 있는 센서가 x,y,z 방향으로 3개가 붙어 있어 이 3개의 센서 간의 출력을 이용하여 센서에 미치는 자기장 방향을 측정하는 것이다. 이때, 지자기 센서(113)의 출력값인 3축 자기장 값은, m=(mx, my, mz)로 표현할 수 있다.
자이로 센서(115)는 각속도를 검출하여 샘플링 시간 동안(예를 들어, 1초 동안)에 각도가 얼마만큼 움직이는가를 측정하는 센서이다. 상세히, 물체가 운동할 때 코리올리의 힘이 발생하는데, 자이로 센서(115)는 이 코리올리 힘에 대한 공식을 이용하여 관성계에 작용하는 각속도를 감지할 수 있다. 이때, 자이로 센서(115)의 출력값으로 3축 각속도 값을 얻을 수 있다.
회전 매트릭스 획득부(120)는 센서부(110)에서 추출한 위치 정보를 이용하여 회전 매트릭스(Rotation Matrix)를 획득하는 역할을 수행한다. 상세히, 회전 매트릭스 획득부(120)는 가속도 센서(111)에서 검출한 3축 가속도 값(g)으로부터 3축의 기울기를 획득하고, 획득한 3축의 기울기를 이용하여 회전 매트릭스를 획득하는 것이다.
이때, 3축의 기울기란, 기준 좌표계(world coordinate)에 대해 위치 추정 장치(100)의 상대 좌표계(device coordinate)가 기울어진 각도를 의미하며, 기준 좌표계(world coordinate)의 x, y, z축에 대해 상대 좌표계(device coordinate)의 x', y', z'축이 기울어진 각도인 (A, B, C)로 나타낼 수 있다. 즉, 기준 좌표계(world coordinate)를 도시한 도 2의 (a)와, 상대 좌표계(device coordinate)를 도시한 도 2의 (b)에 도시된 바와 같이, 기준 좌표계(world coordinate)의 x, y, z축에 대해 상대 좌표계(device coordinate)의 x', y', z'축이 기울어진 각도인 (A, B, C)를 획득한다. 다시 말하면, 중력 가속도를 기준으로 물체의 기울어진 각도를 구할 수 있는 것이다.
그리고, 이와 같이 획득한 3축의 기울기 (A, B, C)를 이용하여 다음의 수학식 1과 같이 회전 매트릭스(Rotation Matrix)를 획득할 수 있다.
[수학식 1]
Rotation Matrix = RzRyRx
Figure 112014094722407-pat00001
Figure 112014094722407-pat00002
Figure 112014094722407-pat00003
사용자 걸음 추출부(130)는 센서부(110)에서 검출된 위치 정보로부터 획득한 중력 방향의 순간 가속도 값이 극값(極값)일 경우, 이를 사용자가 한걸음 걸은 것으로 판단하는 역할을 수행한다.
예를 들어, 사용자 걸음 추출부(130)는 가속도 센서(111)에서 검출한 3축 가속도 값(g)과 회전 매트릭스 획득부(120)에서 획득한 회전 매트릭스를 연산하여, 보정된 3축 가속도 값(g')을 얻을 수 있다. 이때, 보정된 3축 가속도 값(g')은, 하기 수학식 2를 통해 얻을 수 있다.
[수학식 2]
g' = Rotation Matrix(R) * g
= Rotation Matrix(R) * (gx, gy, gz)
= (g'x, g'y, g'z)
그리고, 이렇게 얻은 보정된 3축 가속도 값(g')의 중력 방향(Z축 방향)의 성분인 g'z가 중력 방향의 순간 가속도 값(Xk)이 될 수 있다.
사용자 걸음 추출부(130)는 이와 같이 획득한 중력 방향의 순간 가속도 값(Xk)을 사용자 걸음 판단의 기초로 사용하는 것이다. 이를 더욱 상세히 설명하면 다음과 같다.
사용자가 걸음을 걷는 경우를 상정하면, 사용자(및 사용자가 소지하고 있는 위치 추정 장치(100))는 중력 방향에서 보았을 때, 상하 운동을 반복하게 된다. 이때, 사용자가 걸음을 걸은 것으로 판단하는 기준은 다양하게 상정할 수 있겠지만, 본 발명의 일 실시예에 따른 위치 추정 장치(100)는 중력 방향의 순간 가속도 값(Xk)이 극값(極값)인 경우, 사용자가 걸음을 걸은 것으로 판단할 수 있다. 특히 중력 방향의 순간 가속도 값이 극소(極小)값인 경우를, 걸음 판단의 기준으로 삼을 수 있다. 여기서 극값은 국소적으로 최대 또는 최소값을 갖는 지점, 즉 기울기의 부호가 변화되는 지점을 의미한다. 예를 들어, 순간 가속도 값이 증가하다가 감소할 경우 극대값으로, 감소하다가 증가하는 경우 극소값으로 판단할 수 있다.
도 3은 시간에 따른 중력 방향의 순간 가속도 값(Xk)의 분포를 나타내며, 도 3에서 X축은 시간축을 나타내고, Y축은 중력 방향의 순간 가속도 값(Xk)을 나타낸다. 도 3을 참조하면, 중력 방향의 순간 가속도 값(Xk)이 극값(極값)인 점에서 시간당 속도 변화량(가속도)의 증감이 바뀌게 된다. 예를 들어 가속도 그래프의 극대값인 점에서는 가속도가 증가하다가 감소하고, 극소값에서는 가속도가 감소하다가 증가하게 된다. 이와 같이 사용자의 중력 방향의 가속도의 증감에 변화가 생기는 지점을 걸음 판단의 기준으로 삼으며, 그 중에서도 중력 방향의 순간 가속도 값(Xk)이 극소값인 점, 즉 사용자의 걸음으로 인하여 최대 충격을 받은 지점(걸음을 내딛는 지점으로 순간 가속도가 최소가 되는 지점) 을 걸음 판단의 기준으로 삼을 수 있다.
한편, 이와 같이 순간 가속도 값(Xk)이 극소값인 점을 걸음 판단의 기준으로 삼는데 있어서, 사용자 걸음 추출부(130)는 극소값인 순간 가속도 값(Xk)이 소정의 가속도 임계값보다 작을 경우, 사용자가 걸음을 걸었다고 판단할 수 있다. 즉, 사용자가 걸음을 걷는 중에도, 미세한 흔들림 또는 외부의 충격 등으로 인해 사용자(및 사용자가 소지하고 있는 위치 추정 장치(100))가 순간적으로 흔들려서, 순간 가속도 값(Xk)이 극소값을 나타내는 경우가 발생할 수 있다. 이 경우, 실제 걸음을 걸은 것이 아닌데도 순간 가속도 값(Xk)이 극소값을 나타내어, 한걸음으로 판단되는 오류가 발생할 수도 있다.
이와 같은 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 위치 추정 장치(100)는 소정의 가속도 임계값을 정해두고, 극소값인 순간 가속도 값(Xk)이 소정의 가속도 임계값보다 작을 경우에만, 사용자가 걸음을 걸었다고 판단할 수 있다. 예를 들어, 도 3의 A 시점에서, 순간 가속도 값(Xk)은 극소값을 이루었지만, 그 순간 가속도 값(Xk)이 소정의 가속도 임계값(Th)보다 크기 때문에, 이 경우에는 사용자가 걸음을 걷지 않은 것으로 판단하는 것이다. 이와 같이 걸음 여부를 판단하기 위한 가속도 임계값을 둠으로써, 보다 정확하게 걸음이 판단되는 효과를 얻을 수 있다. 물론, 극대값인 순간 가속도 값(Xk)이 소정의 가속도 임계값보다 클 경우에만, 사용자가 걸음을 걸었다고 판단할 수도 있다.
나아가, 이와 같이 순간 가속도 값(Xk)이 극소값인 점을 걸음 판단의 기준으로 삼는데 있어서, 직전에 한걸음으로 판단한 시각(B)과, 현재 한걸음으로 판단한 시각(C)과의 차가 소정의 시간 임계값보다 클 경우에만, 이를 한걸음으로 판단할 수도 있다. 즉, 사용자가 걸음을 걷는 중에도, 미세한 흔들림 또는 외부의 충격 등으로 인해 사용자(및 사용자가 소지하고 있는 위치 추정 장치(100))가 순간적으로 흔들려서, 순간 가속도 값(Xk)이 연달아 극소값을 나타내는 경우가 발생할 수 있다. 이 경우, 실제 걸음을 걸은 것이 아닌데도 순간 가속도 값(Xk)이 극소값을 나타내어, 한걸음으로 판단되는 오류가 발생할 수도 있다.
이와 같은 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 위치 추정 장치(100)는 소정의 시간 임계값을 정해두고, 직전에 한걸음으로 판단한 시각과, 현재 한걸음으로 판단한 시각과의 차가 소정의 시간 임계값보다 클 경우에만, 사용자가 걸음을 걸었다고 판단할 수 있다. 예를 들어, 한걸음을 걷는데 필요한 최소 시간의 평균값이 0.3초로써, 소정의 시간 임계값을 0.3초로 설정할 경우, 도 3에서 순간 가속도 값(Xk)이 극소값인 B시점과 C시점 사이의 시간차는 0.3초 이상이므로, 이와 같은 경우에는 사용자가 걸음을 걸은 것으로 판단할 수 있는 것이다. 반면, 서로 이웃한 극소값 사이의 시간차가 0.3초 이하인 경우에는, 미세한 흔들림 또는 외부의 충격 등으로 인해 사용자가 순간적으로 흔들린 경우로서 사용자가 실제 걸음을 걸은 것이 아닌 경우로 판단하여, 사용자가 걸음을 걷지 않았다고 판단할 수 있다. 이와 같이 걸음 여부를 판단하기 위한 시간 임계값을 둠으로써, 보다 정확하게 걸음이 판단되는 효과를 얻을 수 있다.
한편, 이와 같이 가속도 임계값 또는 시간 임계값을 설정함에 있어, 통계를 이용한 임계값을 일괄적으로 적용할 수도 있고, 또는 개인별 시행을 통해 도출한 임계값을 각 개인별로 적용할 수도 있다. 즉, 다수의 사용자들로부터 검출된 걸음 데이터로부터 가속도 임계값 또는 시간 임계값을 구하여 이를 모든 사용자에게 일괄적으로 적용할 수도 있다. 또는, 사용자들을 연령, 성별, 키, 몸무게 등의 정보에 의해 그룹화한 후, 각 그룹의 사용자들로부터 검출된 걸음 데이터로부터 가속도 임계값 또는 시간 임계값을 구하여 이를 해당 그룹의 사용자에게 적용할 수도 있다. 또는, 각 개인별로 수집한 걸음 데이터를 분석하여, 각 개인의 가속도 임계값 또는 시간 임계값을 구하여, 이를 해당 사용자에게 적용할 수도 있으며, 이때 지속적인 피드백을 통해 임계값을 동적으로 변화하면서 적용할 수도 있을 것이다.
사용자 이동방향 추출부(140)는 센서부(110)에서 검출된 위치 정보로부터 획득한 위치 추정 장치(100)의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 필터 처리한 결과값(E)을 연산하고, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내일 경우, 현재 이동방향(X)을 상기 필터 처리한 결과값(E)으로 변경하고, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내가 아닐 경우, 현재 이동방향(X)을 가속도 및 지자기 기반 이동방향(Z)으로 변경하여, 사용자의 이동방향을 추출하는 역할을 수행한다. 이와 같은 사용자 이동방향 추출부(140)는 가속도 및 지자기 기반 이동방향(Z) 획득부(141), 자이로 기반 이동방향(U) 획득부(143), 필터 처리부(145)를 포함한다. 이하에서는 이에 대해서 보다 상세히 설명한다.
먼저, 사용자 이동방향 추출부(140)는 최초 기준방향을 계산하여 현재 이동방향(X)으로 설정할 수 있다. 이때 최초 기준방향은, 후술할 가속도 및 지자기 기반 이동방향(Z) 획득부(141)에서 획득하는 가속도 및 지자기 기반 이동방향(Z)일 수도 있고, 또는 사용자가 직접 설정하는 방향일 수도 있으며, 또는 위치 추정 장치(100) 주변의 와이파이나 무선 신호의 세기 변화에 따라 설정된 방향일 수도 있다. 예를 들어, 주변의 와이파이나 무선 신호의 세기가 점점 강해진다는 것은 위치 추정 장치(100)와 AP(access point) 사이의 거리가 점점 가까워진다는 것이며, 따라서 여러 AP(access point)에서 이러한 정보를 수집한다면, 이를 통해 사용자의 최초 기준방향을 예측할 수 있는 것이다.
가속도 및 지자기 기반 이동방향(Z) 획득부(141)는 센서부(110)에서 검출된 위치 정보로부터 가속도 및 지자기 기반 이동방향(Z)을 획득한다. 상세히, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)는 지자기 센서(113)에서 검출한 3축 자기장 값과, 회전 매트릭스 획득부(120)에서 획득한 회전 매트릭스를 이용하여, 가속도 및 지자기 기반 이동방향(Z)을 획득한다.
즉, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)는 지자기 센서(113)에서 검출한 3축 자기장 값(m)과 회전 매트릭스 획득부(120)에서 획득한 회전 매트릭스를 연산하여, 보정된 3축 자기장 값(m')을 얻을 수 있다. 이때, 보정된 3축 자기장 값(m')은, 하기 수학식 3을 통해 얻을 수 있다.
[수학식 3]
m' = Rotation Matrix(R) * m
= Rotation Matrix(R) * (mx, my, mz)
= (m'x, m'y, m'z)
그리고, 이렇게 얻은 보정된 3축 자기장 값(m')의 y축 성분인 m'y가 북쪽을 기준으로 한 위치 추정 장치(100)의 절대 방향, 즉 가속도 및 지자기 기반 이동방향(Z)이 되는 것이다. 이때 가속도 및 지자기 기반 이동방향(Z)은 -3.14 ~ 3.14 범위의 라디안(radian)이나, 0˚~360˚의 각도 형태로 나타낼 수 있다.
한편, 자이로 기반 이동방향(U) 획득부(143)는 센서부(110)에서 검출된 위치 정보로부터 자이로 기반 이동방향(U)을 획득한다. 상세히, 자이로 기반 이동방향(U) 획득부(143)는 자이로 센서에서 검출한 3축 각속도 값을 적분하여, 3축의 각도 변화량을 획득하고, 현재 이동방향(X)과 3축의 각도 변화량을 이용하여 자이로 기반 이동방향(U)을 획득한다. 이때, 자이로 기반 이동방향(U) 획득부(143)는 연산을 위하여, 3축의 각도 변화량을 3*3 형태의 Matrix로 변환할 수 있으며, 이때 각도 변화량 Matrix의 각 행은, 각 축이 x, y, z 방향으로 돌아간 정도를 나타낼 수 있다.
필터 처리부(145)는 위치 추정 장치(100)의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 확장 칼만 필터(Extended Kalman Filter)를 이용하여 필터 처리한 결과값(E)을 연산하는 역할을 수행한다.
상세히, 칼만 필터(Kalman Filter)란 잡음이 포함되어 있는 선형 역학계의 상태를 추적하여 잡음을 제거해가는 재귀 필터로써, 실제 상태값과 수정된 상태값의 오차 공분산을 최소화하는 알고리즘이다. 아래 수학식 4와 같이, 크게 예측(Predict)과 추정(Measurement)이 계속 반복되는 형태를 이루며, 상세하게는 초기값을 선정한 후에, 추정값과 오차 공분산 예측 -> 칼만 이득 계산 -> 추정값 계산 -> 오차 공분산 계산의 과정을 반복한다.
[수학식 4]
Figure 112014094722407-pat00004
여기서, 아래 첨자는 몇번째 데이터인가를 의미하고, 윗첨자 '-'는 예측값을 의미하며, 윗첨자 '^'는 추정값을 의미한다. z는 측정값, x는 출력값, P는 오차 공분산, K는 칼만 이득, A, H, Q, R은 시스템 모델에서 얻은 행렬이다.
확장 칼만 필터(Extended Kalman Filter)는 비선형 시스템에서 칼만 필터를 사용할 수 있도록 만든 것으로, 상기 수학식 4의 칼만 필터에서 A와 H 행렬을, 수학식 5와 같이 비선형 시스템의 함수 f()와 h()로 변환한 것이다.
[수학식 5]
Figure 112014094722407-pat00005
이와 같은 확장 칼만 필터에, 위치 추정 장치(100)의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 적용하여 필터 처리한 결과값(E)을 연산함으로써, 사용자의 이동 방향을 더욱 정확하게 연산하는 효과를 얻을 수 있다.
한편, 사용자 이동방향 추출부(140)는, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내, 예를 들어 20˚이상 340˚ 이하일 경우, 현재 이동방향(X)을 필터 처리부(145)에서 필터 처리한 결과값(E)으로 변경하고, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내가 아닐 경우, 예를 들어 20˚보다 작거나 340˚보다 클 경우, 현재 이동방향(X)을 가속도 및 지자기 기반 이동방향(Z)으로 변경할 수 있다.
필터 처리부(145)에서 확장 칼만 필터를 이용하여 필터 처리한 결과값(E)을 연산할 경우, 정확도가 증가하는 대신 계산량 또한 상당 부분 증가하게 된다. 더구나, 확장 칼만 필터를 이용하여 연산할 경우, 이동방향이 0˚를 기준으로 +와 -의 경계선을 넘어갈 때, 오류가 발생할 수 있는 문제점이 존재한다.
이와 같은 문제점을 해결하기 위하여, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내(예를 들어 20˚이상 340˚ 이하)일 경우에는, 이를 안정적인 영역이라고 판단하여, 계산량이 다소 증가하더라도 정확도가 향상되는 확장 칼만 필터에 의한 연산값을 현재 이동방향(X)으로 설정하게 된다.
반면, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내가 아닐 경우(예를 들어 20˚보다 작거나 340˚보다 클 경우)에는, 이를 불안정한 영역이라고 판단하여, 확장 칼만 필터 대신 가속도 및 지자기 기반 이동방향(Z)을 현재 이동방향(X)으로 설정하게 된다.
이와 같이, 경우에 따라 확장 칼만 필터에 의한 연산값 또는 가속도 및 지자기 기반 이동방향(Z)을 현재 이동방향(X)으로 설정하도록 하여, 보다 안정적이고 정확하면서도 신속하게 사용자의 현재 이동방향을 추정하는 효과를 얻을 수 있는 것이다.
사용자 위치 추정부(150)는 사용자 걸음 추출부(130)에서 추출한 사용자의 걸음 수와 사용자 이동방향 추출부(140)에서 추출한 사용자의 이동방향으로부터, 사용자의 현재 위치를 추정하는 역할을 수행한다. 이와 같이 사용자 위치 추정부(150)가 사용자의 현재 위치를 추정하는 방법은, 위치 추정 장치(100)에 디스플레이되고 있는 지도의 방위를 아는 경우와 모르는 경우로 나누어 생각할 수 있다.
먼저, 도 4에 도시된 바와 같이 위치 추정 장치(100)에 디스플레이되고 있는 지도의 방위를 아는 경우, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)에서 획득한 가속도 및 지자기 기반 이동방향(Z)을 이용하여 지도상에서의 위치 추정 장치(100)의 이동 방향을 알 수 있다. 즉, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)는 지자기 센서(113)에서 검출한 3축 자기장 값(m)과 회전 매트릭스 획득부(120)에서 획득한 회전 매트릭스를 연산하여, 보정된 3축 자기장 값(m')을 얻을 수 있다. 그리고, 이렇게 얻은 보정된 3축 자기장 값(m')의 y축 성분인 m'y가 북쪽을 기준으로 한 위치 추정 장치(100)의 절대 방향, 즉 가속도 및 지자기 기반 이동방향(Z)이 되는 것이다. 따라서, 위치 추정 장치(100)의 절대 이동방향을 알 수 있다.
또한, 이동거리는 사용자의 걸음 수와 걸음당 이동거리(D)의 곱으로부터 연산할 수 있다. 이때 걸음당 이동거리(D)는 통계를 이용한 소정의 값을 일괄적으로 적용할 수도 있고, 또는 개인별 시행을 통해 도출한 값을 각 개인별로 적용할 수도 있다. 즉, 다수의 사용자들로부터 검출된 걸음 데이터로부터 걸음당 이동거리(D)를 구하여 이를 모든 사용자에게 일괄적으로 적용할 수도 있다. 또는, 사용자들을 연령, 성별, 키, 몸무게 등의 정보에 의해 그룹화한 후, 각 그룹의 사용자들로부터 검출된 걸음 데이터로부터 걸음당 이동거리(D)를 구하여 이를 해당 그룹의 사용자에게 적용할 수도 있다. 또는, 각 개인별로 수집한 걸음 데이터를 분석하여, 각 개인의 걸음당 이동거리(D)를 구하여, 이를 해당 사용자에게 적용할 수도 있으며, 이때 지속적인 피드백을 통해 임계값을 동적으로 변화하면서 적용할 수도 있을 것이다.
한편, 사용자 위치 추정부(150)가 사용자의 위치를 추정하기 위해서는 기준이 되는 시작점이 존재하여야 하는바, 이와 같은 시작점은 다음과 같은 방법으로 구할 수 있다. 먼저, Wi-Fi를 이용한 삼각 측량 혹은 Cell-ID 방식을 이용하여 보행자의 초기위치 설정할 수 있다. 또는 블루투스 기반의 Beacon, QR code, RFID, Li-Fi등의 추가 인프라를 사용하여 초기위치 설정할 수도 있다. 또는 건물에 설치된 장치 데이터와 수신 혹은 획득한 ID를 비교하여 초기위치를 결정할 수도 있다. 또는 GPS 신호의 수신 중단 지점과 건물의 출입구 정보를 비교하여 초기위치를 추정할 수도 있다. 또는 마이크를 이용하여 특정 소리 혹은 특정 주파수 대역의 음성 신호를 검출하여 초기위치를 설정할 수도 있다.
이와 같이, 사용자 위치 추정부(150)는 소정의 시작점을 기준으로, 사용자 걸음 추출부(130)에서 추출한 사용자의 걸음 수와 사용자 이동방향 추출부(140)에서 추출한 사용자의 이동방향으로부터 사용자의 이동방향과 이동거리를 구하여, 사용자의 현재 위치를 추정하는 것이다.
한편, 도 5에 도시된 바와 같이 위치 추정 장치(100)에 디스플레이되고 있는 지도의 방위를 모르는 경우, 초기에 설정한 기준 방향을 기준으로, 기준 방향으로부터 회전한 각도를 이용하여 지도상에서의 위치 추정 장치(100)의 이동 방향을 알 수 있다. 이와 같이 지도의 방위를 모르는 경우의 위치 추정 방법을 설명하는 개념도인 도 6에는, 기준 방향으로부터 θ만큼 회전하고, D만큼 이동하였을 경우의 위치를 추정하는 개념도가 도시되어 있다.
도 6에서 (X, Y)를 현재 추정위치, (
Figure 112014094722407-pat00006
,
Figure 112014094722407-pat00007
)를 이전 추정위치, θ를 현재 방향, θinit를 초기 설정 방향, D를 걸음당 이동거리라고 상정할 경우, 현재 추정위치 (X, Y)는 다음의 수학식 6에 의해서 구할 수 있다.
[수학식 6]
X =
Figure 112014094722407-pat00008
+ D * sin(θ-θinit)
Y =
Figure 112014094722407-pat00009
+ D * cos(θ-θinit)
이와 같이, 사용자 위치 추정부(150)는 사용자의 이전 위치를 기준으로, 사용자 걸음 추출부(130)에서 추출한 사용자의 걸음 수와 사용자 이동방향 추출부(140)에서 추출한 사용자의 이동방향으로부터 사용자의 이동방향과 이동거리를 구하여, 사용자의 현재 위치를 추정하는 것이다.
나아가, 사용자 위치 추정부(150)는 현재 사용자의 층수 및 이동 방법을 추정할 수도 있다. 예를 들어, 사용자 위치 추정부(150)는 건물의 층별 기압정보를 기 저장해두고, 기압 센서로부터 측정되는 기압 정보를 건물의 층별 기압 정보와 비교하여 현재 층을 추정할 수 있다. 또한, 사용자 위치 추정부(150)는 상하운동 검출을 통해 층간 이동 방법을 결정할 수도 있다. 예를 들어, 사용자가 수직 상하운동을 할 경우, 이동 방법이 엘리베이터인 것으로 추정하고, 사용자가 대각 상하운동을 할 경우, 이동 방법이 에스컬레이터인 것으로 추정하고, 사용자로부터 걸음이 검출되는 동시에 상하운동을 할 경우, 이동 방법이 계단인 것으로 추정할 수 있는 것이다.
이와 같은 본 발명의 일 실시예에 따른 위치 추정 장치에 의해서, 정확도 높은 사용자 위치 추정 장치를 제공하여 신뢰성 높은 보행자 네비게이션을 구현할 수 있다. 또한, 높은 신뢰성을 갖는 보행자의 위치정보를 기반으로 노인, 어린이 등에게 긴급 상황 발생 시, 빠른 대처가 가능하도록 할 수 있다. 나아가, 테러, 건물 붕괴 등의 비상 상황 발생 시에, 정확한 현재위치를 기반으로 빠른 대피 경로를 안내할 수도 있다. 또한 본 발명은 실내외 구분없이 적용 가능한 기술로, 실내외 연속적인 서비스를 제공할 수도 있을 것이다.
이하에서는, 본 발명의 일 실시예에 따른 위치 추정 방법에 대해 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 위치 추정 방법의 흐름을 나타내는 도면이다. 그리고, 도 8은 도 7의 위치 추정 방법의 S100 단계를 상세히 나타내는 도면이고, 도 9는 도 7의 위치 추정 방법의 S200 단계를 상세히 나타내는 도면이며, 도 10은 도 9의 위치 추정 방법의 S210 단계를 상세히 나타내는 도면이고, 도 11은 도 7의 위치 추정 방법의 S300 단계를 상세히 나타내는 도면이다.
먼저, 도 7을 참조하면, 본 발명의 일 실시예에 따른 위치 추정 방법은 사용자의 걸음을 추출하는 단계(S100 단계), 사용자의 이동방향을 추출하는 단계(S200 단계), 사용자의 위치를 추정하는 단계(S300 단계)를 포함한다.
여기서, 사용자의 걸음을 추출하는 단계(S100 단계)는 다음과 같다.
도 8 및 도 1을 참고하면, 사용자의 걸음을 추출하는 단계(S100 단계)는 가속도 센서에서 3축 가속도 값(g)을 검출하는 단계(S110 단계), 3축 가속도 값 (g)으로부터 3축의 기울기를 획득하는 단계(S120 단계), 3축의 기울기를 이용하여 회전 매트릭스(Rotation Matrix)를 획득하는 단계(S130 단계), 3축 가속도 값과 회전 매트릭스를 이용하여 보정된 3축 가속도 값(g')을 획득하는 단계(S140 단계), 보정된 3축 가속도 값(g')으로부터 중력방향의 순간 가속도 값(Xk)을 획득하는 단계(S150 단계), 중력방향의 순간 가속도 값(Xk)이 극값인지 여부를 판단하는 단계(S160 단계), 중력 방향의 순간 가속도 값이 소정의 가속도 임계값보다 작은지 여부를 판단하는 단계(S170 단계), 직전에 한걸음으로 판단한 시각과, 현재 한걸음으로 판단한 시각과의 차가 소정의 시간 임계값보다 큰지 여부를 판단하는 단계(S180 단계), 사용자가 걸음을 걸은 것으로 판단하는 단계(S190 단계) 및 위치 추정을 종료하는지 여부를 판단하는 단계(S195 단계)를 포함한다. 이를 더욱 상세히 설명하면 다음과 같다.
먼저, 가속도 센서(111)에서 3축 가속도 값(g)을 검출(S110 단계)한다. 이때, 3축 가속도 센서(111)의 출력값인 3축 가속도 값은, g=(gx, gy, gz)로 표현할 수 있다.
다음으로, 회전 매트릭스 획득부(120)는 3축 가속도 값 (g)으로부터 3축의 기울기를 획득(S120 단계)한다. 이때, 3축의 기울기란, 기준 좌표계(world coordinate)에 대해 위치 추정 장치(100)의 상대 좌표계(device coordinate)가 기울어진 각도를 의미하며, 기준 좌표계(world coordinate)의 x, y, z축에 대해 상대 좌표계(device coordinate)의 x', y', z'축이 기울어진 각도인 (A, B, C)로 나타낼 수 있다.
다음으로, 회전 매트릭스 획득부(120)는 3축의 기울기를 이용하여 회전 매트릭스(Rotation Matrix)를 획득(S130 단계)한다. 회전 매트릭스(Rotation Matrix)를 획득하는 단계는 상술한 수학식 1에 의해 수행될 수 있다.
다음으로, 사용자 걸음 추출부(130)는 3축 가속도 값과 회전 매트릭스를 이용하여 보정된 3축 가속도 값(g')을 획득(S140 단계)한다. 이때, 보정된 3축 가속도 값(g')은, 상술한 수학식 2를 통해 얻을 수 있다.
다음으로, 보정된 3축 가속도 값(g')으로부터 중력방향의 순간 가속도 값(Xk)을 획득(S150 단계)한다. 즉, S140 단계에서 얻은 보정된 3축 가속도 값(g')의 중력 방향(Z축 방향)의 성분인 g'z가 중력 방향의 순간 가속도 값(Xk)이 될 수 있다. 사용자 걸음 추출부(130)는 이와 같이 획득한 중력 방향의 순간 가속도 값(Xk)을 사용자 걸음 판단의 기초로 사용한다.
다음으로, 사용자 걸음 추출부(130)는 중력방향의 순간 가속도 값(Xk)이 극값인지 여부를 판단(S160 단계)한다. 즉, 본 발명의 일 실시예에서는, 사용자의 중력 방향의 가속도의 증감에 변화가 있는 지점을 걸음 판단의 기준으로 삼으며, 그 중에서도 중력 방향의 순간 가속도 값(Xk)이 극소값인 점, 즉 사용자의 걸음으로 인하여 최대 충격을 받은 지점(걸음을 내딛는 지점으로 순간 가속도가 최소가 되는 지점)을 걸음 판단의 기준으로 삼는 것이다. 여기서, 순간 가속도 값(Xk)이 극소값인지 여부는 다음의 수학식 7에 의해 판단할 수 있다.
[수학식 7]
Xk -1 > Xk & Xk < Xk +1
다음으로, 중력 방향의 순간 가속도 값(Xk)이 소정의 가속도 임계값(Xamp)보다 작은지 여부를 판단(S170 단계)한다. 즉, 사용자 걸음 추출부(130)는 극소값인 순간 가속도 값(Xk)이 소정의 가속도 임계값(Xamp)보다 작을 경우, 사용자가 걸음을 걸었다고 판단할 수 있다. 이와 같이 걸음 여부를 판단하기 위한 가속도 임계값을 둠으로써, 보다 정확하게 걸음이 판단되는 효과를 얻을 수 있다.
다음으로, 직전에 한걸음으로 판단한 시각(Ts)과, 현재 한걸음으로 판단한 시각(Tn)과의 차가 소정의 시간 임계값(T)보다 큰지 여부를 판단(S180 단계)한다. 즉, 사용자가 걸음을 걷는 중에도, 미세한 흔들림 또는 외부의 충격 등으로 인해 사용자(및 사용자가 소지하고 있는 위치 추정 장치(100))가 순간적으로 흔들려서, 순간 가속도 값(Xk)이 연달아 극소값을 나타내는 경우가 발생할 수 있다. 따라서 사용자 걸음 추출부(130)는 소정의 시간 임계값(T)을 정해두고, 직전에 한걸음으로 판단한 시각(Ts)과, 현재 한걸음으로 판단한 시각(Tn)과의 차가 소정의 시간 임계값(T)보다 클 경우에만, 사용자가 걸음을 걸었다고 판단할 수 있다. 이와 같이 걸음 여부를 판단하기 위한 시간 임계값을 둠으로써, 보다 정확하게 걸음이 판단되는 효과를 얻을 수 있다.
한편, 이와 같이 가속도 임계값 또는 시간 임계값을 설정함에 있어, 통계를 이용한 임계값을 일괄적으로 적용할 수도 있고, 또는 개인별 시행을 통해 도출한 임계값을 각 개인별로 적용할 수도 있다. 즉, 다수의 사용자들로부터 검출된 걸음 데이터로부터 가속도 임계값 또는 시간 임계값을 구하여 이를 모든 사용자에게 일괄적으로 적용할 수도 있다. 또는, 사용자들을 연령, 성별, 키, 몸무게 등의 정보에 의해 그룹화한 후, 각 그룹의 사용자들로부터 검출된 걸음 데이터로부터 가속도 임계값 또는 시간 임계값을 구하여 이를 해당 그룹의 사용자에게 적용할 수도 있다. 또는, 각 개인별로 수집한 걸음 데이터를 분석하여, 각 개인의 가속도 임계값 또는 시간 임계값을 구하여, 이를 해당 사용자에게 적용할 수도 있으며, 이때 지속적인 피드백을 통해 임계값을 동적으로 변화하면서 적용할 수도 있을 것이다.
마지막으로, 상술한 160 단계, 170 단계, 180 단계에서 모두 "예"인 경우, 이를 사용자가 걸음을 걸은 것으로 판단(S190 단계)하고, 위치 추정을 종료하는지 여부를 판단(S195 단계)하여, 종료가 아닐 경우 S110 단계로 돌아간다.
다음으로, 사용자의 이동방향을 추출하는 단계(S200 단계)는 다음과 같다.
도 9 및 도 1을 참고하면, 사용자의 이동방향을 추출하는 단계(S200 단계)는 가속도 및 지자기 기반 이동방향(Z)을 획득하는 단계(S210 단계), 최초 기준 방향을 계산하여 현재 이동방향(X)으로 설정하는 단계(S220 단계), 자이로 센서에서 3축 각속도 값을 검출하는 단계(S230 단계), 3축 각속도 값을 이용하여 3축의 각도 변화량을 획득하는 단계(S240 단계), 현재 이동방향(X)과 3축의 각도 변화량을 이용하여 자이로 기반 이동방향(U)을 획득하는 단계(S250 단계), 현재 이동방향(X), 자이로 기반 이동방향(U), 가속도 및 지자기 기반 이동방향(Z)을 확장 칼만 필터(Extended Kalman filter)에 적용하여 결과값(E)을 연산하는 단계(S260 단계), 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내인지 여부를 판단하는 단계(S270 단계), 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내일 경우, 현재 이동방향(X)을 필터 처리한 결과값(E)으로 변경하는 단계(S273 단계), 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내가 아닐 경우, 현재 이동방향(X)을 가속도 및 지자기 기반 이동방향(Z)으로 변경하는 단계(S271 단계), 가속도 및 지자기 기반 이동방향(Z)을 획득하는 단계(S280 단계), 및 위치 추정을 종료하는지 여부를 판단하는 단계(S290 단계)를 포함한다. 이를 더욱 상세히 설명하면 다음과 같다.
먼저, 사용자 이동방향 추출부(140)의 가속도 및 지자기 기반 이동방향(Z) 획득부(141)는 가속도 및 지자기 기반 이동방향(Z)을 획득(S210 단계)한다. 도 10을 참조하여 이를 더욱 상세히 설명하면 다음과 같다.
도 10을 참조하면, 가속도 및 지자기 기반 이동방향(Z)을 획득(S210 단계)하는 단계는, 가속도 센서에서 3축 가속도 값(g)을 검출하는 단계(S211 단계), 3축 가속도 값 (g)으로부터 3축의 기울기를 획득하는 단계(S212 단계), 3축의 기울기를 이용하여 회전 매트릭스(Rotation Matrix)를 획득하는 단계(S213 단계), 지자기 센서에서 검출한 3축 자기장 값(m)과 회전 매트릭스를 이용하여 보정된 3축 자기장 값(m')을 획득하는 단계(S214 단계), 보정된 3축 자기장 값(m')으로부터 단말의 절대방향을 획득하는 단계(S215 단계)를 포함한다.
여기서, S211 단계는 상술한 도 8의 S110 단계와 실질적으로 동일하고, S212 단계는 상술한 도 8의 S120 단계와 실질적으로 동일하고, S213 단계는 상술한 도 8의 S130 단계와 실질적으로 동일하다.
이와 같은 방법으로 회전 매트릭스를 획득한 이후, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)는 지자기 센서(113)에서 검출한 3축 자기장 값(m)과 회전 매트릭스를 이용하여 보정된 3축 자기장 값(m')을 획득(S214 단계)한다. 이때, 보정된 3축 자기장 값(m')은, 상술한 수학식 3을 통해 얻을 수 있다.
다음으로, 보정된 3축 자기장 값(m')으로부터 단말의 절대방향을 획득(S215 단계)한다. 즉, S214 단계에서 얻은 보정된 3축 자기장 값(m')의 y축 성분인 m'y가 북쪽을 기준으로 한 위치 추정 장치(100)의 절대 방향, 즉 가속도 및 지자기 기반 이동방향(Z)이 되는 것이다. 이때 가속도 및 지자기 기반 이동방향(Z)은 -3.14 ~ 3.14 범위의 라디안(radian)이나, 0˚~360˚의 각도 형태로 나타낼 수 있다.
다시 도 9를 참조하면, 사용자 이동방향 추출부(140)는 최초 기준 방향을 계산하여 현재 이동방향(X)으로 설정(S220 단계)할 수 있다. 이때 최초 기준방향은, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)에서 획득하는 가속도 및 지자기 기반 이동방향(Z)일 수도 있고, 또는 사용자가 직접 설정하는 방향일 수도 있으며, 또는 위치 추정 장치(100) 주변의 와이파이나 무선 신호의 세기 변화에 따라 설정된 방향일 수도 있다. 도 9에서는 S210 단계가 S220 단계에 선행하는 것으로 도시되어 있으나, 본 발명의 사상은 이에 제한되지 아니하며, 최초 기준방향이 가속도 및 지자기 기반 이동방향(Z)이 아닐 경우, S210 단계가 S220 단계 이후에 실행될 수도 있을 것이다.
다음으로, 자이로 센서(115)에서 3축 각속도 값을 검출(S230 단계)하고, 자이로 기반 이동방향(U) 획득부(143)는 3축 각속도 값을 이용하여 3축의 각도 변화량을 획득(S240 단계)한 후, 현재 이동방향(X)과 3축의 각도 변화량을 이용하여 자이로 기반 이동방향(U)을 획득(S250 단계)한다.
상세히, 자이로 기반 이동방향(U) 획득부(143)는 자이로 센서에서 검출한 3축 각속도 값을 적분하여 3축의 각도 변화량을 획득하고, 현재 이동방향(X)과 3축의 각도 변화량을 이용하여 자이로 기반 이동방향(U)을 획득한다. 이때, 자이로 기반 이동방향(U) 획득부(143)는 연산을 위하여, 3축의 각도 변화량을 3*3 형태의 Matrix로 변환할 수 있으며, 이때 각도 변화량 Matrix의 각 행은, 각 축이 x, y, z 방향으로 돌아간 정도를 나타낼 수 있다.
다음으로, 필터 처리부(145)는 위치 추정 장치(100)의 현재 이동방향(X), 자이로 기반 이동방향(U), 가속도 및 지자기 기반 이동방향(Z)을 확장 칼만 필터(Extended Kalman filter)에 적용하여 결과값(E)을 연산(S260 단계)한다. 이와 같은 확장 칼만 필터에, 위치 추정 장치(100)의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 적용하여 필터 처리한 결과값(E)을 연산함으로써, 사용자의 이동 방향을 더욱 정확하게 연산하는 효과를 얻을 수 있다.
다음으로, 사용자 이동방향 추출부(140)는 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내인지 여부를 판단(S270 단계)한다.
상세히, 사용자 이동방향 추출부(140)는, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내, 예를 들어 20˚이상 340˚ 이하일 경우, 현재 이동방향(X)을 필터 처리부(145)에서 필터 처리한 결과값(E)으로 변경(S273 단계)한다.
한편, 사용자 이동방향 추출부(140)는, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내가 아닐 경우, 예를 들어 20˚보다 작거나 340˚보다 클 경우, 현재 이동방향(X)을 가속도 및 지자기 기반 이동방향(Z)으로 변경(S271 단계)한다.
필터 처리부(145)에서 확장 칼만 필터를 이용하여 필터 처리한 결과값(E)을 연산할 경우, 정확도가 증가하는 대신 계산량 또한 상당 부분 증가하게 된다. 더구나, 확장 칼만 필터를 이용하여 연산할 경우, 이동방향이 0˚를 기준으로 +와 -의 경계선을 넘어갈 때, 오류가 발생할 수 있는 문제점이 존재한다.
이와 같은 문제점을 해결하기 위하여, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내(예를 들어 20˚이상 340˚ 이하)일 경우에는, 이를 안정적인 영역이라고 판단하여, 계산량이 다소 증가하더라도 정확도가 향상되는 확장 칼만 필터에 의한 연산값을 현재 이동방향(X)으로 설정하게 된다.
반면, 가속도 및 지자기 기반 이동방향(Z)이 소정 범위 이내가 아닐 경우(예를 들어 20˚보다 작거나 340˚보다 클 경우)에는, 이를 불안정한 영역이라고 판단하여, 확장 칼만 필터 대신 가속도 및 지자기 기반 이동방향(Z)을 현재 이동방향(X)으로 설정하게 된다.
이와 같이, 경우에 따라 확장 칼만 필터에 의한 연산값 또는 가속도 및 지자기 기반 이동방향(Z)을 현재 이동방향(X)으로 설정하도록 하여, 보다 안정적이고 정확하면서도 신속하게 사용자의 현재 이동방향을 추정하는 효과를 얻을 수 있는 것이다.
다음으로, 가속도 및 지자기 기반 이동방향(Z)을 획득(S280 단계)한다. 이는 상술한 S210 단계와 실질적으로 동일하다.
마지막으로, 위치 추정을 종료하는지 여부를 판단(S290 단계)하여, 종료가 아닐 경우 S230 단계로 돌아간다.
다음으로, 사용자의 위치를 추정하는 단계(S300 단계)는 다음과 같다.
도 11 및 도 1을 참고하면, 사용자의 위치를 추정하는 단계(S300 단계)는 현재 지도의 방향을 아는지 여부를 판단하는 단계(S310 단계), 현재 지도의 방향을 알 경우, 현재 이동방향과 이동거리를 이용하여 현재 위치를 추정하는 단계(S320 단계), 현재 지도의 방향을 모를 경우, 최초 기준방향과 현재 이동방향과 이동거리를 이용하여 현재 위치를 추정하는 단계(S330 단계), 및 위치 추정을 종료하는지 여부를 판단하는 단계(S340 단계)를 포함한다. 이를 더욱 상세히 설명하면 다음과 같다.
먼저, 위치 추정 장치(100)에 디스플레이되고 있는 지도의 방위를 아는 경우, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)에서 획득한 가속도 및 지자기 기반 이동방향(Z)을 이용하여 지도상에서의 위치 추정 장치(100)의 이동 방향을 알 수 있다. 즉, 가속도 및 지자기 기반 이동방향(Z) 획득부(141)는 지자기 센서(113)에서 검출한 3축 자기장 값(m)과 회전 매트릭스 획득부(120)에서 획득한 회전 매트릭스를 연산하여, 보정된 3축 자기장 값(m')을 얻을 수 있다. 그리고, 이렇게 얻은 보정된 3축 자기장 값(m')의 y축 성분인 m'y가 북쪽을 기준으로 한 위치 추정 장치(100)의 절대 방향, 즉 가속도 및 지자기 기반 이동방향(Z)이 되는 것이다. 따라서, 위치 추정 장치(100)의 절대 이동방향을 알 수 있다.
또한, 이동거리는 사용자 걸음 추출부(130)에서 추출한 사용자의 걸음 수와 걸음당 이동거리(D)의 곱으로부터 연산할 수 있다.
이와 같이, 사용자 위치 추정부(150)는 소정의 시작점을 기준으로, 사용자 걸음 추출부(130)에서 추출한 사용자의 걸음 수와 사용자 이동방향 추출부(140)에서 추출한 사용자의 이동방향으로부터 사용자의 이동방향과 이동거리를 구하여, 사용자의 현재 위치를 추정하는 것이다.
한편, 위치 추정 장치(100)에 디스플레이되고 있는 지도의 방위를 모르는 경우, 초기에 설정한 기준 방향을 기준으로, 기준 방향으로부터 회전한 각도를 이용하여 지도상에서의 위치 추정 장치(100)의 이동 방향을 알 수 있다. 이때, 현재 추정위치 (X, Y)는 상술한 수학식 6에 의해서 구할 수 있다.
이와 같이, 사용자 위치 추정부(150)는 사용자의 이전 위치를 기준으로, 사용자 걸음 추출부(130)에서 추출한 사용자의 걸음 수와 사용자 이동방향 추출부(140)에서 추출한 사용자의 이동방향으로부터 사용자의 이동방향과 이동거리를 구하여, 사용자의 현재 위치를 추정하는 것이다.
이와 같은 본 발명의 일 실시예에 따른 위치 추정 장치에 의해서, 정확도 높은 사용자 위치 추정 장치를 제공하여 신뢰성 높은 보행자 네비게이션을 구현할 수있다. 또한, 높은 신뢰성을 갖는 보행자의 위치정보를 기반으로 노인, 어린이 등에게 긴급 상황 발생 시, 빠른 대처가 가능하도록 할 수 있다. 나아가, 테러, 건물 붕괴 등의 비상 상황 발생 시에, 정확한 현재위치를 기반으로 빠른 대피 경로를 안내할 수도 있다. 또한 본 발명은 실내외 구분없이 적용 가능한 기술로, 실내외 연속적인 서비스를 제공할 수도 있을 것이다.
매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 위치 추정 장치
101: 네트워크 인터페이스부
103: 메모리
105: 입/출력부
109: 제어부
110: 센서부
120: 회전 매트릭스 획득부
130: 사용자 걸음 추출부
140: 사용자 이동방향 추출부
150: 사용자 위치 추정부

Claims (22)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 자신의 현재 위치를 추정하기 위한 위치 추정 장치에 있어서,
    상기 위치 추정 장치의 하나 이상의 위치 정보를 검출하는 센서부; 및
    상기 센서부에서 검출된 위치 정보로부터 획득한 상기 위치 추정 장치의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 필터 처리한 결과값(E)을 연산하고,
    상기 가속도 및 지자기 기반 이동방향(Z)이 20˚ 이상 340˚ 이하의 범위 이내인지 여부에 따라, 현재 이동방향을 상기 필터 처리한 결과값(E)또는 상기 가속도 및 지자기 기반 이동방향(Z)으로 결정하는 사용자 이동방향 추출부;를 포함하는 위치 추정 장치.
  9. 제 8 항에 있어서,
    상기 위치 추정 장치는,
    상기 센서부에서 추출한 위치 정보를 이용하여 회전 매트릭스를 획득하는 회전 매트릭스 획득부;를 더 포함하고,
    상기 센서부는 가속도 센서를 포함하고,
    상기 회전 매트릭스 획득부는 상기 가속도 센서에서 검출한 3축 가속도 값으로부터 3축의 기울기를 획득하고, 획득한 3축의 기울기를 이용하여 회전 매트릭스를 획득하는 것을 특징으로 하는 위치 추정 장치.
  10. 제 9 항에 있어서,
    상기 센서부는 지자기 센서를 더 포함하고,
    상기 지자기 센서에서 검출한 3축 자기장 값과, 상기 회전 매트릭스를 이용하여, 상기 가속도 및 지자기 기반 이동방향(Z)을 획득하는 것을 특징으로 하는 위치 추정 장치.
  11. 제 8 항에 있어서,
    상기 센서부는 자이로 센서를 포함하고,
    상기 현재 이동방향(X)과, 상기 자이로 센서에서 검출한 3축 각속도 값으로부터 획득한 3축의 각도 변화량을 이용하여, 상기 자이로 기반 이동방향(U)을 획득하는 것을 특징으로 하는 위치 추정 장치.
  12. 삭제
  13. 제 8 항에 있어서,
    상기 위치 추정 장치의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 확장 칼만 필터(Extended Kalman Filter)를 이용하여 필터 처리한 결과값(E)을 연산하는 필터 처리부를 더 포함하는 위치 추정 장치.
  14. 제 8 항에 있어서,
    상기 센서부에서 검출된 위치 정보로부터 획득한 중력 방향의 순간 가속도 값이 극값(極값)일 경우, 이를 사용자의 한걸음으로 판단하는 사용자 걸음 추출부;를 더 포함하는, 위치 추정 장치.
  15. 제 14 항에 있어서,
    상기 사용자 걸음 추출부에서 추출한 사용자의 걸음 수와, 상기 사용자 이동방향 추출부에서 추출한 사용자의 이동방향으로부터, 사용자의 현재 위치를 추정하는 사용자 위치 추정부;를 더 포함하는 위치 추정 장치.
  16. 위치 추정 장치를 이용하여 현재 위치를 추정하기 위한 위치 추정 방법에 있어서,
    상기 위치 추정 장치의 하나 이상의 위치 정보를 검출하는 단계;
    상기 검출된 위치 정보로부터 획득한 상기 위치 추정 장치의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 필터 처리한 결과값(E)을 연산하는 단계;
    상기 가속도 및 지자기 기반 이동방향(Z)이 20˚ 이상 340˚ 이하의 범위 이내인지 여부를 판단하는 단계; 및
    상기 범위 이내인지 여부에 기초하여 현재 이동 방향을 상기 필터 처리한 결과값(E) 또는 상기 가속도 및 지자기 기반 이동방향(Z) 중 어느 하나로 결정하는 단계;를 포함하는,
    위치 추정 방법.
  17. 제 16 항에 있어서,
    상기 검출된 위치 정보로부터 획득한 중력 방향의 순간 가속도 값이 극값(極값)일 경우, 이를 사용자의 한걸음으로 판단하는 단계를 더 포함하는 것을 특징으로 하는, 위치 추정 방법.
  18. 제 17 항에 있어서,
    상기 사용자의 한걸음으로 판단하는 단계는,
    상기 중력 방향의 순간 가속도 값이 극값(極값)이고,
    직전에 한걸음으로 판단한 시각과, 현재 한걸음으로 판단한 시각과의 차가 소정의 시간 임계값보다 클 경우, 이를 한걸음으로 판단하는 것을 특징으로 하는, 위치 추정 방법.
  19. 삭제
  20. 제 16 항에 있어서,
    상기 결정하는 단계는,
    상기 가속도 및 지자기 기반 이동방향(Z)이 20˚이상 340˚ 이하일 경우, 상기 현재 이동방향(X)을 상기 필터 처리한 결과값(E)으로 변경하고,
    상기 가속도 및 지자기 기반 이동방향(Z)이 20˚보다 작거나 340˚보다 클 경우, 상기 현재 이동방향(X)을 상기 가속도 및 지자기 기반 이동방향(Z)으로 변경하는 것을 특징으로 하는 위치 추정 방법.
  21. 제 16 항에 있어서,
    상기 필터 처리한 결과값(E)을 연산하는 단계는,
    상기 위치 추정 장치의 현재 이동방향(X), 자이로 기반 이동방향(U), 및 가속도 및 지자기 기반 이동방향(Z)을 확장 칼만 필터(Extended Kalman Filter)를 이용하여 필터 처리한 결과값(E)을 연산하는 것을 특징으로 하는 위치 추정 방법.
  22. 컴퓨터를 이용하여 제 16 항 내지 제 18 항, 제 20 항, 제 21 항의 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
KR1020140133550A 2014-10-02 2014-10-02 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램 KR101831891B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140133550A KR101831891B1 (ko) 2014-10-02 2014-10-02 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140133550A KR101831891B1 (ko) 2014-10-02 2014-10-02 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20160040042A KR20160040042A (ko) 2016-04-12
KR101831891B1 true KR101831891B1 (ko) 2018-02-26

Family

ID=55801123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140133550A KR101831891B1 (ko) 2014-10-02 2014-10-02 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR101831891B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110098884B (zh) * 2018-01-31 2021-05-18 慧与发展有限责任合伙企业 用于确定异常时钟的方法及设备
KR102212333B1 (ko) * 2019-08-22 2021-02-04 주식회사 인포웍스 자기교란 보상이 적용된 보행자 위치 추정 시스템
KR102226846B1 (ko) * 2019-09-02 2021-03-11 경북대학교 산학협력단 Imu 센서와 카메라를 이용한 하이브리드 실내 측위 시스템
KR102337003B1 (ko) * 2020-04-09 2021-12-09 고려대학교 산학협력단 자기장 기반 위치측정방법 및 위치측정장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601981B1 (ko) * 2005-01-14 2006-07-18 삼성전자주식회사 활동패턴 감시 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601981B1 (ko) * 2005-01-14 2006-07-18 삼성전자주식회사 활동패턴 감시 방법 및 장치

Also Published As

Publication number Publication date
KR20160040042A (ko) 2016-04-12

Similar Documents

Publication Publication Date Title
Ban et al. Indoor positioning method integrating pedestrian Dead Reckoning with magnetic field and WiFi fingerprints
KR101460260B1 (ko) 장치 위치들에 대한 포지션 표시 제어
CN108496211B (zh) 拥挤程度推断方法、人数推断方法、拥挤程度推断程序、人数推断程序及人数推断系统
US9986529B2 (en) Methods and apparatuses for use in determining an altitude of a mobile device
US9476717B2 (en) Simultaneous localization and mapping by using Earth&#39;s magnetic fields
TW201104280A (en) Dead reckoning elevation component adjustment
US20140088867A1 (en) Travel orientation calculation apparatus, travel orientation calculation method, travel orientation calculation program, and navigation apparatus
KR20150074124A (ko) 모바일 디바이스들의 맵-지원 센서-기반 포지셔닝
JP6054535B2 (ja) 歩行者モーション認識基盤の歩行者位置推定装置、及びその方法
US9151622B2 (en) Method and apparatus for estimating moving direction of user and computer-readable storage medium having recorded thereon the method
WO2014074837A1 (en) Unsupervised indoor localization and heading directions estimation
KR101831891B1 (ko) 위치 추정 장치, 위치 추정 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램
US10830606B2 (en) System and method for detecting non-meaningful motion
WO2015184000A1 (en) Indoor location survey
KR101634325B1 (ko) 보폭 추정 모델 파라미터를 이용한 보행자 위치 추정 방법 및 이를 위한 장치
US11959751B2 (en) Correcting compass view using map data
US20200158533A1 (en) Step-length calculating device, portable terminal, position-information providing system, step-length calculating device control method, and program
JP2019028796A (ja) 測定装置、ナビゲーションシステム、測定方法及びプログラム
KR20190050791A (ko) 모바일 디바이스에서 개선된 보행자 모션 모델링을 위한 사용자-특정 학습
JP6566046B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム、および記録媒体
KR101523147B1 (ko) 실내 측위 장치 및 방법
WO2018116476A1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
KR101525224B1 (ko) 자동촬영모드를 가지는 휴대용 단말기
JP2016206017A (ja) 電子機器、及び移動速度算出プログラム
Asano et al. A robust pedestrian dead-reckoning positioning based on pedestrian behavior and sensor validity

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