KR102095135B1 - 실내 측위 방법 및 이를 수행하는 장치들 - Google Patents
실내 측위 방법 및 이를 수행하는 장치들 Download PDFInfo
- Publication number
- KR102095135B1 KR102095135B1 KR1020180173977A KR20180173977A KR102095135B1 KR 102095135 B1 KR102095135 B1 KR 102095135B1 KR 1020180173977 A KR1020180173977 A KR 1020180173977A KR 20180173977 A KR20180173977 A KR 20180173977A KR 102095135 B1 KR102095135 B1 KR 102095135B1
- Authority
- KR
- South Korea
- Prior art keywords
- pedestrian
- particles
- change value
- distance
- indoor positioning
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/006—Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
실내 측위 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 실내 측위 방법은 보행자의 자세 변화값, 보행자 주변의 자기장 및 무선 노드로부터 전송된 신호 중에서 적어도 하나에 기초하여 상기 보행자에 대응하는 복수의 파티클들의 가중치를 결정하는 단계와, 상기 가중치에 기초하여 상기 보행자의 자세를 추정하는 단계를 포함한다.
Description
아래 실시예들은 실내 측위 방법 및 이를 수행하는 장치들에 관한 것이다.
위성 위치 확인 시스템(Global Positioning System; GPS)은 실외(또는 옥외)에서 비교적 정확한 위치로 실외 측위를 제공할 수 있다.
하지만, 위성 위치 확인 시스템은 위성으로부터 전송된 매우 약한 신호가 실내에서 쉽게 왜곡되어 실내 측의에 대한 높은 정확도를 제공하기 어렵다.
실내에서 GPS와 유사한 측위 서비스를 제공하기 위해, 최근에는 Wi-Fi, Bluetooth 및 Zigbee와 같은 RF 기반의 연구들이 진행되고 있다.
예를 들어, 최근에는 수신 신호 세기(received signal strength indicator; RSSI)에 기반하여 실내 측위 서비스를 제공할 수 있다.
하지만, RSSI 기반 측위 방식은 벽과 사람 등의 장애물로 인해 발생하는 multipath fading과 shadow fading에 취약하다. 이에, RSSI 기반 측위 방식은 순간적인 측정값 만으로 실내 공간에서 움직이는 물체를 1m 미만의 정확도로 찾아내는 것이 어렵다.
실시예들은 보행자의 가속도, 보행자의 각속도, 보행자 주변의 자기장 및 무선 노드로부터 전송된 신호에 기초하여 보행자의 자세를 추정하고, 무선 노드의 위치를 추정하는 기술을 제공할 수 있다.
또한, 실시예들은 보행자의 자세 및 무선 노드의 위치를 매핑하여 보행자의 자세 및 무선 노드의 위치가 매핑된 실내 측위 정보를 제공하는 기술을 제공할 수 있다.
일 실시예에 따른 실내 측위 방법은 보행자의 자세 변화값, 보행자 주변의 자기장 및 무선 노드로부터 전송된 신호 중에서 적어도 하나에 기초하여 상기 보행자에 대응하는 복수의 파티클들의 가중치를 결정하는 단계와, 상기 가중치에 기초하여 상기 보행자의 자세를 추정하는 단계를 포함한다.
상기 자세 변화값은 상기 보행자의 이동에 따른 이동 거리 변화값 및 상기 보행자의 회전에 따른 이동 방향 변화값 중에서 적어도 하나일 수 있다.
상기 보행자의 자세는 상기 보행자의 위치 및 방향일 수 있다.
상기 결정하는 단계는 상기 보행자의 이동에 기반한 상기 이동 거리 변화값 및 상기 이동 방향 변화값에 기초하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 이동 거리 변화값 및 상기 이동 방향 변화값에 기초하여 상기 가중치를 결정하는 단계는 상기 보행자의 가속도에 기반한 상기 이동 거리 변화값에 기초하여 상기 복수의 파티클들의 이동 거리 변화값을 결정하는 단계와, 상기 보행자의 각속도에 기반한 상기 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 이동 방향 변화값을 결정하는 단계와, 상기 복수의 파티클들의 이동 거리 변화값 및 상기 복수의 파티클들의 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 자세를 추정하는 단계와, 추정된 복수의 파티클들의 자세에 기초하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 복수의 파티클들의 이동 거리 변화값을 결정하는 단계는 상기 보행자의 가속도에 응답하여 상기 보행자의 이동을 검출하는 단계와, 상기 보행자의 이동이 검출된 경우, 상기 보행자의 가속도에 기초하여 상기 보행자의 이동 거리 변화값을 추정하는 단계와, 상기 보행자의 이동 거리 변화값에 대한 가우시안 확률 분포를 계산하는 단계와, 상기 가우시안 확률 분포를 샘플링하여 상기 복수의 파티클들의 이동 거리 변화값을 결정하는 단계를 포함할 수 있다.
상기 복수의 파티클들의 이동 방향 변화값을 결정하는 단계는 상기 보행자의 각속도에 응답하여 상기 보행자의 이동 방향 변화값을 추정하는 단계와, 상기 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포를 계산하는 단계와, 상기 가우시안 확률 분포로부터 상기 복수의 파티클들의 이동 방향 변화값을 샘플링하여 상기 복수의 파티클들의 이동 방향 변화값을 결정하는 단계를 포함할 수 있다.
상기 결정하는 단계는 상기 보행자의 이동 및 상기 자기장에 기반한 상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 단계는 상기 보행자의 가속도 및 상기 자기장에 응답하여 상기 보행자의 방향을 계산하는 단계와, 상기 보행자의 각속도에 응답하여 상기 이동 방향 변화값에 기반한 상기 복수의 파티클들의 방향을 계산하는 단계와, 상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 가중치를 결정하는 단계는 상기 신호에 기반한 상기 보행자 및 상기 복수의 파티클들과 상기 무선 노드간의 거리에 기초하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 보행자 및 상기 복수의 파티클들과 상기 무선 노드간의 거리에 기초하여 상기 가중치를 결정하는 단계는 상기 신호에 응답하여 상기 신호의 신호 세기에 기반한 상기 보행자와 상기 무선 노드간의 거리인 제1 거리를 계산하는 단계와, 상기 복수의 파티클들의 위치 및 상기 무선 노드의 위치에 기초하여 상기 복수의 파티클들과 상기 무선 노드간의 거리인 제2 거리를 계산하는 단계와, 상기 제1 거리 및 상기 제2 거리에 기초하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 추정하는 단계는 상기 가중치에 기초하여 상기 복수의 파티클들을 리샘플링하는 단계와, 리샘플링된 복수의 파티클들을 클러스터링하여 상기 보행자의 위치 및 방향을 추정하는 단계를 포함할 수 있다.
상기 방법은 상기 신호에 기초하여 상기 무선 노드의 위치를 추정하는 단계와, 상기 무선 노드의 위치 및 상기 보행자의 자세를 매핑하여 상기 무선 노드의 위치 및 상기 보행자의 자세가 매핑된 실내 측위 정보를 제공하는 단계를 더 포함할 수 있다.
일 실시예에 따른 실내 측위 장치는 통신 모듈과, 보행자의 자세 변화값, 보행자 주변의 자기장 및 무선 노드로부터 전송된 신호 중에서 적어도 하나에 기초하여 상기 보행자에 대응하는 복수의 파티클들의 가중치를 결정하고, 상기 가중치에 기초하여 상기 보행자의 자세를 추정하는 컨트롤러를 포함할 수 있다.
상기 자세 변화값은 상기 보행자의 이동에 따른 이동 거리 변화값 및 상기 보행자의 회전에 따른 이동 방향 변화값 중에서 적어도 하나일 수 있다.
상기 보행자의 자세는 상기 보행자의 위치 및 방향일 수 있다.
상기 컨트롤러는 상기 보행자의 이동에 기반한 상기 이동 거리 변화값 및 상기 이동 방향 변화값에 기초하여 상기 가중치를 결정할 수 있다.
상기 컨트롤러는 상기 보행자의 가속도에 기반한 상기 이동 거리 변화값에 기초하여 상기 복수의 파티클들의 이동 거리 변화값을 결정하고, 상기 보행자의 각속도에 기반한 상기 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 이동 방향 변화값을 결정하고, 상기 복수의 파티클들의 이동 거리 변화값 및 상기 복수의 파티클들의 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 자세를 추정하고, 추정된 복수의 파티클들의 자세에 기초하여 상기 가중치를 결정할 수 있다.
상기 컨트롤러는 상기 보행자의 가속도에 응답하여 상기 보행자의 이동을 검출하고, 상기 보행자의 이동이 검출된 경우, 상기 보행자의 가속도에 기초하여 상기 보행자의 이동 거리 변화값을 추정하고, 상기 보행자의 이동 거리 변화값에 대한 가우시안 확률 분포를 계산하고, 상기 가우시안 확률 분포를 샘플링하여 상기 복수의 파티클들의 이동 거리 변화값을 결정할 수 있다.
상기 컨트롤러는 상기 보행자의 각속도에 응답하여 상기 보행자의 이동 방향 변화값을 추정하고, 상기 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포를 계산하고, 상기 가우시안 확률 분포를 샘플링하여 상기 복수의 파티클들의 이동 방향 변화값을 결정할 수 있다.
상기 컨트롤러는 상기 보행자의 이동 및 상기 자기장에 기반한 상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정할 수 있다.
상기 컨트롤러는 상기 보행자의 가속도 및 상기 자기장에 응답하여 상기 보행자의 방향을 계산하고, 상기 보행자의 각속도에 응답하여 상기 이동 방향 변화값에 기반한 상기 복수의 파티클들의 방향을 계산하고, 상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정할 수 있다.
상기 컨트롤러는 상기 보행자 및 상기 복수의 파티클들과 상기 무선 노드간의 거리에 기초하여 상기 가중치를 결정할 수 있다.
상기 컨트롤러는 상기 신호에 응답하여 상기 신호의 신호 세기에 기반한 상기 보행자와 상기 무선 노드간의 거리인 제1 거리를 계산하고, 상기 복수의 파티클들의 위치 및 상기 무선 노드의 위치에 기초하여 상기 복수의 파티클들과 상기 무선 노드간의 거리인 제2 거리를 계산하고, 상기 제1 거리 및 상기 제2 거리에 기초하여 상기 가중치를 결정할 수 있다.
상기 컨트롤러는 상기 가중치에 기초하여 상기 복수의 파티클들을 리샘플링하고, 리샘플링된 복수의 파티클들을 클러스터링하여 상기 보행자의 위치 및 방향을 추정할 수 있다.
상기 컨트롤러는 상기 신호에 기초하여 상기 무선 노드의 위치를 추정하고, 상기 무선 노드의 위치 및 상기 보행자의 자세를 매핑하여 상기 무선 노드의 위치 및 상기 보행자의 자세가 매핑된 실내 측위 정보를 제공할 수 있다.
도 1은 일 실시예에 따른 쿼터니언에 기반한 무감각 변환을 설명하기 위한 일 예를 나타낸다.
도 2는 일 실시예에 따른 실내 측위 시스템의 개략적인 블록도를 나타낸다.
도 3은 도 2에 도시된 실내 측위 장치의 개략적인 블록도를 나타낸다.
도 4는 도 2에 도시된 실내 측위 장치의 제1 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 5는 도 2에 도시된 실내 측위 장치의 제2 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 6은 도 2에 도시된 실내 측위 장치의 제3 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 7은 도 2에 도시된 실내 측위 장치의 제4 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 8은 도 2에 도시된 실내 측위 장치의 제4 알고리즘 동작을 설명하기 위한 다른 예를 나타낸다.
도 9는 도 2에 도시된 실내 측위 장치의 제5 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 10은 도 2에 도시된 실내 측위 장치의 제5 알고리즘 동작을 설명하기 위한 다른 예를 나타낸다.
도 11a는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 일 예를 나타낸다.
도 11b는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 다른 예를 나타낸다.
도 11c는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 또 다른 예를 나타낸다.
도 12는 도 2에 도시된 실내 측위 장치의 동작을 설명하기 위한 순서도를 나타낸다.
도 2는 일 실시예에 따른 실내 측위 시스템의 개략적인 블록도를 나타낸다.
도 3은 도 2에 도시된 실내 측위 장치의 개략적인 블록도를 나타낸다.
도 4는 도 2에 도시된 실내 측위 장치의 제1 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 5는 도 2에 도시된 실내 측위 장치의 제2 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 6은 도 2에 도시된 실내 측위 장치의 제3 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 7은 도 2에 도시된 실내 측위 장치의 제4 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 8은 도 2에 도시된 실내 측위 장치의 제4 알고리즘 동작을 설명하기 위한 다른 예를 나타낸다.
도 9는 도 2에 도시된 실내 측위 장치의 제5 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 10은 도 2에 도시된 실내 측위 장치의 제5 알고리즘 동작을 설명하기 위한 다른 예를 나타낸다.
도 11a는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 일 예를 나타낸다.
도 11b는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 다른 예를 나타낸다.
도 11c는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 또 다른 예를 나타낸다.
도 12는 도 2에 도시된 실내 측위 장치의 동작을 설명하기 위한 순서도를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
도 1은 일 실시예에 따른 쿼터니언에 기반한 무감각 변환을 설명하기 위한 일 예를 나타낸다.
도 1을 참조하면, 쿼터니언(quaternion)은 attitude와 rotation을 모두 표현할 수 있다. 쿼터니언에 기반한 무감각 변환은 보행자의 각속도에 기초하여 보행자의 이동 방향 변화값, 보행자의 이동 방향 변화값의 노이즈(또는 에러), 보행자의 이동 방향 변화값의 노이즈에 대한 예측 평균 및 공분산을 계산하는 알고리즘일 수 있다.
쿼터니언에 기반한 무감각 변환은 gimbal lock 문제를 피할 수 있어 보행자의 자세를 나타내지 위해 사용될 수 있다. 보행자의 이동 방향 변화값은 에러값이 포함된 값일 수 있다.
쿼터니언은 정규화된(normalized) 4차원 벡터로써, 수학식 1로 나타낼 수 있다.
수학식 1의 는 쿼터니언을 나타내고, , 및 는 의 허수부(imaginary part) 나타내고, 는 의 실수부(real part)를 나타낸다. 은 의 허수부를 의미하고, 단위 쿼터니언(unit quaternion)은 벡터의 크기가 1인 벡터를 나타낸다.
수학식 2는 회전(rotation)을 쿼터니언의 형태로 나타내는 부분에 해당한다.
보행자의 회전(rotation)에 의해 업데이트된 보행자의 방향은 수학식 3으로 나타낼 수 있다.
자이로스코프의 측정값인 보행자의 각속도를 통해 보행자의 방향의 신뢰성을 결정하기 위해 자이로스코프의 노이즈(noise)는 추정되야 한다.
스케일 팩터(scale factor) 또는 편향(mosalignment)과 같은 결정적 요류들(deterministic errors)이 보정된다고 가정하는 경우, 3축 연속 시간(three-axis continuous time) 자이로스코프 노이즈 모델은 수학식 4로 나타낼 수 있다.
여기서, 는 시간 t에서 continuous-time measured angular rate(예를 들어, 센서에서 측정된 측정값)를 나타내고, 는 continuous-time angular rate(예를 들어, 참값)를 나타내고, 는 시간 t에서 드리프트 바이어스(drift bias)를 나타낸다. 는 continuous-time model(예를 들어, 괄호 안의 값이 연속된 시간을 나타내는 t)에서의 자이로스코프 측정치(measured angular rate)의 노이즈를 나타낸다. 이때, 노이즈는 제로-평균 가우시안 화이트 노이즈(independent zero-mean Gaussian white-noise)로 모델링될 수 있다. 즉, 는 시간 t에서 독립적인 제로-평균 가우시안 화이트 노이즈(independent zero-mean Gaussian white-noise)를 나타낸다.
센서 모델에서, 바이어스의 값은 시간에 따라 일정하지 않고, 계속해서 변화한다. 바이어스의 변화량에 대한 노이즈 모델은 수학식 5로 나타낼 수 있다.
여기서, 는 continuous-time model(예를 들어, 괄호 안의 값이 연속된 시간을 나타내는 t)에서의 바이어스 변화량의 노이즈를 나타낸다. 이때, 노이즈는 제로-평균 가우시안 화이트 노이즈(independent zero-mean Gaussian white-noise)로 모델링될 수 있다. 즉, 는 시간 t에서 제로-평균 가우시안 화이트 노이즈를 나타낸다.
수학식 6 및 7의 는 평균(expectation)을 나타내고, 는 시간 축에서의 값을 나타내고, 은 Dirac delta function을 나타내고, 는 continuous-time white Gaussian noise process의 strength를 나타낸다. 는 자이로스코프 측정값이 얼마나 noisy한지 나타내는 파라미터이고, 는 바이어스의 변화량이 어느 정도의 노이즈를 갖는지를 나타내는 파라미터이다.
저비용 MEMS IMU(micro electro mechnical systems inertial measurement unit)를 사용하는 경우, 상술한 자이로스코프 노이즈 모델은 에러 소스들(error sources)의 영향이 포함되도록 잡음 모델 매개 변수를 증가시켜야 한다.
무감각 변환 과정에서 post-update estimate인 가 주어지는 경우, post-update 각속도(angular velocity; )는 수학식 8으로 나타내고, 전파된 자이로 바이어스(propagated gyro bias; )는 수학식 9로 나타낼 수 있다. K는 Unscented Transform의 k번째 반복(iteration)을 의미한다.
로테이션 벡터(rotation vector)에 대응하는 로테이션 쿼터니언(rotation quaterion)은 수학식 11로 나타낼 수 있다.
전파된 쿼터니언(Propagated quaternion)은 수학식 12로 나타낼 수 있다.
수학식 12의 는 회전하기 전 쿼터니언(예를 들어, k번째 iteration의 attitude에 해당하는 쿼터니언)을 나타내고, 는 회전한 후 쿼터니언(예를 들어, k+1번째 iteration에 해당하는 쿼터니언)을 나타낸다.
무감각 변환 알고리즘이 유니티 놈 제약(unity norm constraint)을 준수하지 않기에 단위 쿼터니언(uit quaternion)은 Unscented Transform의 상태 벡터(state vector)로 직접 사용될 수 없다.
따라서, Unscented Transform의 상태 벡터는 로컬 에러 쿼터니언(local error-quaternion)를 사용하여 전파되야 한다.
로컬 에러 쿼터니언은 수학식 13으로 나타낼 수 있다.
보행자의 방향(attitude)의 로컬 에러를 나타내는 비제약 3 컴포넌트 벡터(unconstrained three-component vector)는 수학식 14로 나타낼 수 있다.
수학식 14의 는 비제약 3 컴포넌트 벡터를 나타내고, 는 스케일 팩터(scale factor)를 나타내고, 는 매개 변수를 나타낸다. 이때, 는 0 ~ 1 사이의 값을 가질 수 있다.
무감각 변환의 상태 벡터는 방향 에러(attitude error) 및 바이어스 벡터들(bias vectors)이 포함될 수 있다.
무감각 변환의 상태 벡터는 수학식 18로 나타낼 수 있다.
수학식 18의 는 Unscented Transform에서 k번째 iteration에서 0번 시그마포인트를 나타내고, 는 Unscented Transform에서 k번째 iteration의 상태 벡터를 나타내고, 는 Unscented Transform에서 k번째 iteration의 상태 벡터 중에서 보행자 방향 로컬 에러를 나타내는 Unscented three-component vector를 나타낸다.
상태 벡터 에 대한 시그마 포인트(sigma points)는 수학식 19 및 수학식 20으로 나타낼 수 있다. 상태 벡터에는 attitude를 직접적으로 나타내는 정보는 포함되어 있지 않고, 로컬 에러에 대한 성분만 포함되어 있기 때문에, Unscented Transform 계산 과정 중에 필요한 (attitude에 해당하는 쿼터니언)을 따로 저장하고 있어야 한다.
여기서, 는 와 로부터 계산된 +- 두 개의 행렬의 i번째 columns에 해당하는 6차원 벡터이고, 는 시그마 포인트가 평균값으로부터 멀리 형성되는 정도를 결정하는 파라미터이다. 는 Unscented Transform의 k번째 iteration 중 6차원 상태 벡터인 에 대한 공분산 행렬, 는 Unscented Transform의 계산에 용이하게 변형한 discrete process noise covariance를 나타낸다.
여기서, 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트를 나타낸고, 는 와 로부터 계산된 +- 두 개의 행렬의 i번째 columns에 해당하는 6차원 벡터를 나타낸다.
콜레스티 분해(cholesky decomposition)을 이용하여 매트릭스 제곱근은 효율적으로 계산될 수 있다.
각 시그마 포인트의 오리엔테이션 쿼터니언은 수학식 23 및 수학식 24로 나타낼 수 있다.
는 Unscented Transform의 k번째 iteration 중 0번 시그마 포인트가 갖는 attitude에 대한 orientation 쿼터니언을 나타낸다. 이 연산을 위해서, Unscented Transform의 상태 벡터 이외에 k번째 iteration의 attitude에 대한 orientation 쿼터니언에 해당하는 를 따로 저장하고 있어야 한다.
여기서, 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 방향 로컬 에러를 나타내는 unconstrained three-component vector 로부터 역연산으로 얻어진 i번 시그마포인트 로컬 에러 쿼터니언을 나타내고, 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 attitude를 나타내는 orientation 쿼터니언을 나타낸다.
수학식 25의 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 로컬 에러 쿼터니언의 허수부를 나타내고, 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 로컬 에러 쿼터니언의 실수부를 나타낸다.
수학식 26의 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 방향 로컬 에러를 나타내는 unconstrained three-component vector를 나타낸다. 는 시그마 포인트의 일부이다.
업데이트된 쿼터니언들은 방향의 회전 연산에 따라 수학식 28, 수학식 29, 수학식 30 및 수학식 31으로 나타낼 수 있다.
수학식 28의 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 rotation 연산에 사용될 angular rate을 나타내고, 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 자이로스코프 바이어스를 나타낸다.
여기서, 는 Unscented Transform의 k번째 iteration 중 i번 시그마 포인트의 orientation 쿼터니언 및 로테이션 쿼터니언 의 연산으로 전파되는 orientation 쿼터니언을 나타낸다. k+1번째 iteration 중, 각 시그마 포인트의 orientation 쿼터니언과 통계적으로 같은 성질을 갖지만, 계산상 정확히 같은 값이 아닐 가능성이 있어, 혼동을 방지하기 위해 로 표기한다.
전파된 에러 쿼터니언들(propagated error quaternions)은 수학식 32 및 수학식 33으로 나타낼 수 있다.
전파된 시그마 포인트(sigma points)는 수학식 34, 수학식 35 및 수학식 36으로 나타낼 수 있다.
무감각 변환을 통해 얻어지는 예측 평균(predicted mean)은 수학식 37로 나타내고, 공분산(covariance)은 수학식 38로 나타낼 수 있다.
는 Unscented Transform의 k+1번째 iteration의 상태 벡터를 나타내고, 는 상태 벡터의 차원 수(예를 들어, 6)를 나타내고, 는 전파된 0번 시그마 포인트를 나타내고,는 전파된 i번 시그마 포인트를 나타낸다.
Unscented Transform의 마지막 연산 과정은 을 만족한다. 은 Unscented Transform의 k+1번째 iteration 중, attitude에 대한 orientation 쿼터니언이다.
도 2는 일 실시예에 따른 실내 측위 시스템의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 실내 측위 시스템(an indoor positioning system; 10)은 무선 노드(a wireless node; 100), 전자 장치(an electronic apparatus; 300) 및 실내 측위 장치(an indoor positioning apparatus; 500)를 포함한다.
무선 노드(100)는 실내에 설치된(또는 배치된) 노드로써, 무선 노드(100) 주변에 무선 신호를 전송하는 무선 전송 노드일 수 있다.
예를 들어, 무선 노드(100)는 비콘으로 구현된 복수의 무선 노드들일 수 있다. 복수의 무선 노드들은 고유한 ID로 식별가능한 저전력 무선 노드들(landmarks)일 수 있다. 복수의 무선 노드들의 무선 노드의 설치 높이(또는 실내 천장의 높이)는 미리 제공될 수 있다.
전자 장치(300)는 실내를 이동하는 보행자가 사용하는 장치일 수 있다. 이때, 보행자는 전자 장치(300)를 소지할 수 있다. 예를 들어, 전자 장치(300)는 웨어러블 장치, PC(personal computer), 데이터 서버 또는 휴대용 전자 장치 등 다양한 장치일 수 있다. 휴대용 전자 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 스마트 디바이스(smart device)으로 구현될 수 있다. 이때, 스마트 디바이스는 스마트 워치(smart watch) 또는 스마트 밴드(smart band)로 구현될 수 있다.
전자 장치(300)는 무선 노드(100)로부터 전송된 신호를 수신하여 무선 노드(100)로부터 전송된 신호에 대한 정보를 실내 측위 장치(500)에 전송할 수 있다.
전자 장치(300)는 전자 장치(300)의 센서(310)가 보행자를 센싱하자마자 보행자에 대한 센싱 데이터를 실내 측위 장치(500)에 전송할 수 있다. 이때, 센싱 데이터는 보행자의 가속도, 보행자의 각속도 및 보행자 주변의 자기장 중에서 적어도 하나일 수 있다.
센서(310)는 관성 센서인 IMU(inertial measurement unit)로써, 가속도계(accelerometer; 311), 자이로스코프(gyroscope; 또는 각속도계; 313) 및 자력계(magnetometer; 315)를 포함할 수 있다. 가속도계(311) 및 자력계(315)는 magnetic compass로 구현될 수 있다. 각속도계(313) 및 자력계(315)는 지자기계(digital compass)로 구현될 수 있다.
예를 들어, 가속도계(311)는 보행자를 센싱하여 보행자의 이동에 따른 보행자의 가속도(또는 가속도값)를 감지할 수 있다.
자이로스코프(313)는 보행자를 센싱하여 보행자의 회전에 따른 보행자의 각속도(또는 각속도값)를 감지할 수 있다.
자력계(315)는 보행자 주변을 센싱하여 보행자 주변의 자기장(또는 자기장값, 자기장 강도)을 감지할 수 있다.
즉, 센서(310)는 보행자의 이동에 따라 보행자를 센싱하여 보행자의 가속도 및 보행자의 각속도 중에서 적어도 하나를 감지할 수 있다. 센서(310)는 보행자의 이동에 따라 보행자 주변을 센싱하여 보행자 주변의 자기장을 감지할 수 있다. 이때, 센서(310)는 보행자의 가속도, 보행자의 각속도 및 보행자 주변의 자기장을 동시에 감지하거나 순차적으로 감지할 수 있다.
전자 장치(300)는 실내 측위 장치(500)로부터 전송된 실내 측위 정보(또는 실내 측위 결과)를 시각화할 수 있다.
실내 측위 장치(500)는 보행자의 가속도, 보행자의 각속도, 보행자 주변의 자기장 및 무선 노드(100)로부터 전송된 신호에 기초하여 보행자의 자세를 추정하고, 무선 노드(100)의 위치를 추정할 수 있다.
또한, 실내 측위 장치(500)는 보행자의 자세 및 무선 노드(100)의 위치를 매핑하여 보행자의 자세 및 무선 노드(100)의 위치가 매핑된 실내 측위 정보를 제공할 수 있다.
이에, 실내 측위 장치(500)는 무선 노드(100)의 에너지 및 전자 장치(300)의 에너지가 절약되고, 저전력 센서 네트워크 환경(또는 실내 저전력 무선 신호 환경)에서 실내 측위가 가능하고, 1m 미만의 평균 위치 오차로 실내 측위가 가능할 수 있다.
도 2에 도시된 바와 같이 전자 장치(300)와 실내 측위 장치(500)가 별도로 구현되어 있지만, 이에 한정하는 것은 아니다. 예를 들어, 실내 측위 장치(500)는 전자 장치(300)의 내부에 구현될 수 있다.
도 3은 도 2에 도시된 실내 측위 장치의 개략적인 블록도를 나타낸다.
도 3을 참조하면, 실내 측위 장치(500)는 통신 모듈(a communicating module; 510) 및 컨트롤러(a controller; 530)를 포함한다.
통신 모듈(510)은 전자 장치(300)로부터 전송된 신호를 수신하여 컨트롤러(530)에 전송할 수 있다. 이때, 신호는 센싱 데이터 및 무선 노드로부터 전송된 신호에 대한 정보 중에서 적어도 하나일 수 있다.
통신 모듈(510)는 컨트롤러(530)로부터 전송된 신호를 전자 장치(300)에 전송할 수 있다. 이때, 신호는 보행자에 대한 실내 측위 정보(또는 실내 측위 결과)일 수 있다.
컨트롤러(530)는 실내 측위 장치(500)의 전반적인 동작을 제어할 수 있다. 예를 들어, 컨트롤러(530)는 통신 모듈(510)의 동작을 제어할 수 있다.
컨트롤러(530)는 센싱 데이터에 기반한 보행자의 자세 변화값(또는 모션 변화값), 보행자 주변의 자기장(또는 보행자 주변의 자기장값) 및 무선 노드(100)로부터 전송된 신호(또는 무선 노드(100)로부터 전송된 신호에 대한 신호 세기) 중에서 적어도 하나에 기초하여 보행자에 대응하는 복수의 파티클들의 가중치를 결정할 수 있다.
보행자의 자세 변화값은 보행자의 자세(또는 포즈(pose), 모션(motion))에 대한 변화값으로 과거 보행자의 자세와 현재 보행자의 자세간의 자세 변화값일 수 있다. 보행자의 자세는 보행자의 위치(position) 및 방향(attitude)일 수 있다.
보행자의 자세 변화값은 보행자의 이동에 따른 이동 거리 변화값 및 보행자의 회전에 따른 이동 방향 변화값 중에서 적어도 하나일 수 있다.
보행자의 이동 거리 변화값은 과거 보행자의 위치와 현재 보행자의 위치간의 위치 변화값일 수 있다.
보행자의 이동 방향 변화값은 과거 보행자의 방향에서 현재 보행자의 방향간의 방향 변화값일 수 있다.
보행자의 자세는 수학식 39로 나타낼 수 있다. 이때, 보행자의 자세는 전자 장치(300)의 자세일 수 있다. 전자 장치(300)의 자세는 전자 장치(300)의 위치 및 방향일 수 있다.
는 보행자의 자세를 나타내고, 는 시간 t에서 보행자의 위치를 나타내는 2차원 좌표의 x축 좌표를 나타내고, 는 시간 t에서 보행자의 위치를 나타내는 2차원 좌표의 y축 좌표를 나타내고, 는 시간 t에서 보행자의 방향을 나타낸다.
보행자에 대응하는 복수의 파티클들은 수학식 40으로 나타낼 수 있다.
는 제1 파티클 내지 제M 파티클 중에서 m번째 파티클을 나타내고, 는 m번째 파티클의 자세를 나타내고, 는 m번째 파티클의 가중치를 나타낸다. 이때, 파티클의 자세는 파티클의 위치 및 방향일 수 있다. m은 자연수일 수 있다.
보행자의 자세는 보행자의 모션 모델에 따라 변화될 수 있다. 보행자의 모션 모델은 확률론적 법칙에 따라 정의된 모델일 수 있다.
보행자의 모션 모델은 수학식 41로 나타낼 수 있다.
는 시간 t에서 보행자의 자세를 나타내고, 는 시간 t-1에서 보행자의 자세를 나타내고, 는 시간 t에서 보행자의 모션 입력을 나타낸다. 이때, 보행자의 모션 입력은 보행자의 이동 거리 변화값 및 보행자의 이동 방향 변화값을 나타낸다.
보행자의 모션 입력은 수학식 42로 나타낼 수 있다.
일 예로, 컨트롤러(530)는 보행자의 이동에 기반한 보행자의 이동 거리 변화값 및 보행자의 이동 방향 변화값에 기초하여 복수의 파티클들의 가중치를 결정(또는 업데이트)할 수 있다.
예를 들어, 컨트롤러(530)는 보행자의 가속도에 기반한 보행자의 이동 거리 변화값에 기초하여 복수의 파티클들의 이동 거리 변화값을 결정할 수 있다.
컨트롤러(530)는 보행자의 각속도에 기반한 보행자의 이동 방향 변화값에 기초하여 복수의 파티클들의 이동 방향 변화값을 결정할 수 있다.
컨트롤러(530)는 복수의 파티클들의 이동 거리 변화값 및 복수의 파티클들의 이동 방향 변화값에 기초하여 복수의 파티클들의 자세를 추정할 수 있다. 이때, 복수의 파티클들의 자세는 복수의 파티클들의 위치 및 방향일 수 있다.
컨트롤러(530)는 복수의 파티클들의 자세에 기초하여 복수의 파티클들의 가중치를 결정할 수 있다.
즉, 컨트롤러(530)는 보행자의 자세 변화값에 기반한 복수의 파티클들의 자세 변화값에 따라 복수의 파티클들의 자세를 추정하여 복수의 파티클들의 가중치를 결정할 수 있다.
복수의 파티클들의 자세 변화값인 복수의 파티클들의 모션 입력은 수학식 43으로 나타낼 수 있다.
다른 예로, 컨트롤러(530)는 보행자의 이동 및 보행자 주변의 자기장에 기반한 보행자의 방향 및 복수의 파티클들의 방향에 기초하여 복수의 파티클들의 가중치를 결정할 수 있다.
예를 들어, 컨트롤러(530)는 보행자의 가속도 및 보행자 주변의 자기장에 응답하여 보행자의 방향을 계산할 수 있다.
컨트롤러(530)는 보행자의 각속도에 응답하여 보행자의 이동 방향 변화값에 기반한 복수의 파티클들의 방향을 계산할 수 있다.
컨트롤러(530)는 보행자의 방향 및 복수의 파티클들의 방향에 기초하여 복수의 파티클들의 가중치를 결정할 수 있다.
또 다른 예로, 컨트롤러(530)는 무선 노드(100)로부터 전송된 신호에 기반한 보행자 및 복수의 파티클들과 무선 노드(100)간의 거리에 기초하여 복수의 파티클들의 가중치를 결정(또는 업데이트)할 수 있다. 이때, 무선 노드(100)가 복수의 무선 노드들인 경우, 컨트로러(530)는 복수의 무선 노드들로부터 전송된 신호가 감지된 순서대로 순차적으로 복수의 파티클들의 가중치를 결정할 수 있다.
예를 들어, 컨트롤러(530)는 무선 노드(100)로부터 전송된 신호에 응답하여 무선 노드(100)로부터 전송된 신호의 신호 세기에 기반한 보행자와 무선 노드(100)간이 거리인 제1 거리를 계산할 수 있다.
컨트롤러(530)는 복수의 파티클들의 위치 및 무선 노드(100)의 위치에 기초하여 복수의 파티클들과 무선 노드(100)간의 거리인 제2 거리를 계산할 수 있다.
컨트롤러(530)는 제1 거리 및 제2 거리에 기초하여 복수의 파티클들의 가중치를 결정할 수 있다.
컨트롤러(530)는 복수의 파티클들의 가중치를 표준화(normalize)할 수 있다. 예를 들어, 컨트롤러(530)는 복수의 파티클들의 가중치 합을 1로 표준화할 수 있다.
상술한 바와 같이, 컨트롤러(530)가 보행자의 이동, 보행자의 회전 또는 무선 노드로부터 전송된 신호에 응답하여 복수의 파티클들의 가중치를 개별적으로 결정하지만, 이에 한정하는 것은 아니다.
예를 들어, 컨트롤러(530)는 보행자의 이동, 보행자의 회전 및 무선 노드로부터 전송된 신호에 응답하는 순서대로 복수의 파티클들의 가중치를 결정할 수 있다. 이때, 컨트롤러(530)는 복수의 파티클들의 가중치가 결정될 때마다 복수의 파티클들의 가중치 합을 1로 정규화하여 정규화된 가중치를 지속적으로 반영할 수 있다.
즉, 복수의 파티클들의 가중치는 보행자의 이동 및/또는 보행자의 회전에 따른 보행자의 자세 변화값과 무선 노드로부터 전송된 신호 중에서 적어도 하나에 기반한 가중치일 수 있다.
컨트롤러(530)는 복수의 파티클들의 가중치에 기초하여 보행자의 자세를 추정할 수 있다.
먼저, 컨트롤러(530)는 복수의 파티클들의 가중치에 기초하여 복수의 파티클들을 리샘플링할 수 있다.
예를 들어, 컨트롤러(530)는 복수의 파티클들의 수(M)(또는 기존의 복수의 파티클들의 분포)가 유지되도록 stochastic universal sampling 방식에 기초하여 복수의 파티클들을 1/M의 가중치를 갖는 M개의 파티클로 리샘플링할 수 있다.
구체적으로, 컨트롤러(530)는 복수의 파티클들의 가중치 중에서 가중치가 높은 파티클로부터 많은 파티클을 생성할 수 있다.
컨트롤러(530)는 복수의 파티클들의 가중치 중에서 가중치가 낮은 파티클로부터 적은 파티클을 생성하거나 생성하지 않을 수 있다.
이후에, 컨트롤러(530)는 리샘플링된 복수의 파티클들을 클러스터링하여 보행자의 위치 및 방향을 추정함으로써, 보행자의 자세를 추정할 수 있다.
예를 들어, 컨트롤러(530)는 Expectation-maximization 알고리즘을 통해 리샘플링된 복수의 파티클들을 클러스터링하여 클러스터링된 복수의 파티클들의 가중치에 따라 보행자의 위치를 추정할 수 있다. 이때, 보행자의 위치는 복수의 가우시안 분포의 결합인 Gaussian mixture model에 기반한 위치일 수 있다.
컨트롤러(530)는 무선 노드(100)로부터 전송된 신호에 기초하여 무선 노드(100)의 위치를 추정할 수 있다. 이때, 무선 노드(100)의 위치는 2차원 공간에서 좌표로 추정될 수 있다.
컨트롤러(530)는 무선 모드(100)의 위치 및 보행자의 자세를 매핑하여 무선 노드(100)의 위치 및 보행자의 자세가 매핑된 실내 측위 정보를 전자 장치(300)에 제공할 수 있다.
도 4는 도 2에 도시된 실내 측위 장치의 제1 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 4를 참조하면, 컨트롤러(530)는 보행가의 가속도에 응답하여 제1 알고리즘을 통해 보행자의 이동 거리 변화값에 기반한 복수의 파티클들의 이동 거리 변화값을 결정할 수 있다. 이때, 제1 알고리즘은 보행자의 이동을 검출하여 보행자의 이동 거리 변화값에 기반한 복수의 파티클들의 이동 거리 변화값을 결정하는 알고리즘일 수 있다.
예를 들어, 컨트롤러(500)는 전자 장치(300)로부터 전송된 보행자의 가속도에 응답하여 보행자의 이동을 검출할 수 있다. 이때, 컨트롤러(500)는 보행자의 중력 가속도의 크기 변화에 따라 보행자의 이동(또는 걸음)이 감지되었을 확률이 높은 stepping points(스텝핑 포인트)를 검출할 수 있다.
보행자가 이동하는 경우(또는 보행자가 땅에 걸음을 내딛는 경우), 전자 장치(300)는 가속도계(311)를 통해 보행자의 중력 방향의 가속도(또는 중력 가속도) peak를 감지할 수 있다. 이때, 가속도계(311)는 3축 가속도계(three-axis accelerometer)로써, 보행자의 3축 가속도()를 감지할 수 있다. 가속도계(311)는 중력 가속도계일 수 있다.
전자 장치(300)가 안드로이드 스마트 폰인 경우, 전자 장치(300)의 안드로이드 API(application programming interface)는 2차 버터워스 필터( order butterworth filter)를 이용하여 보행자의 중력 가속도()를 실내 측위 장치(500)에 제공(또는 출력)할 수 있다. 이때, 중력 가속도()는 3차원 벡터로써, 보행자의 중력 가속도의 크기 및 방향일 수 있다. 중력 가속도()는 항체 좌표계(body frame) 기준일 수 있다.
센서(310)의 센서 주기 동안 보행자(또는 전자 장치(300)가 크게 회전하지 않는 경우, 중력을 제외한 보행자의 가속도는 3축 가속도계(또는 3차원 가속도계)의 측정값(또는 감지값; )에서 보행자의 중력 가속도가 차감된 값일 수 있다.
따라서, 보행자의 중력 가속도 크기(또는 전자 장치(300)의 중력 가속도 크기)는 수학식 44로 나타낼 수 있다.
컨트롤러(530)는 보행자의 중력 가속도에 응답하여 스텝 검출 타이머() 및 중력 가속도에 기반한 보행자의 이동을 검출할 수 있다. 이때, 은 보행자의 물리적인 한계로 인해 보행자의 이동에 요구되는 물리적인 시간으로, 보행자의 이동후 다음 이동시 필요한 시간일 수 있다. 은 미리 설정되고, 240 msec일 수 있다.
가 만료되고, 의 최대값() 및 최소값()의 차()가 임계값(threshold) 보다 큰 경우, 컨트롤러(530)는 보행자의 이동을 검출할 수 있다. 이때, 임계값은 보행자의 이동 여부를 판단하기 위해 미리 설정된 기준값으로, 2.9일 수 있다.
보행자의 이동이 검출되는 경우, 컨트롤러(530)는 보행자의 다음 이동을 검출하기 위해 , 및 을 초기화할 수 있다. 이때, 는 보행자의 과거 이동시점의 중력 가속도 크기와 보행자의 현재 이동시점의 중력 가속도의 크기의 차이()일 수 있다.
가 만료되고, 의 최대값() 및 최소값()의 차()가 임계값(threshold) 보다 작은 경우, 컨트롤러(530)는 보행자의 이동을 검출하지 않을 수 있다. 이때, 이 임계값 보다 작은 경우는 보행자(또는 전자 장치(300))의 미세한 떨림이 발생한 경우일 수 있다.
가 만료되기 전에 또는 이 업데이트(또는 감지)되는 경우, 컨트롤러(530)는 또는 을 실내 측위 장치(500)의 데이터 베이스(미도시)에 저장하고, 을 0으로 초기화할 수 있다. 초기화된 가 만료된 후에도 저장된 가속도 보다 크거나 작은 가속도가 감지되지 않는 경우, 저장된 가속도는 보행자의 이동 검출에 사용되는 또는 으로 사용될 수 있다.
보행자의 이동이 검출된 경우, 컨트롤러(530)는 보행자의 가속도에 기초하여 보행자의 이동 거리 변화값을 추정할 수 있다.
보행자의 이동 거리 변화값은 수학식 45로 나타낼 수 있다.
컨트롤러(530)는 보행자의 이동 거리 변화값에 대한 가우시안 확률 분포를 계산할 수 있다.
보행자의 이동 거리 변화값에 대한 가우시안 확률 분포는 수학식 46으로 나타낼 수 있다.
컨트롤러(530)는 보행자의 이동 거리 변화값에 대한 가우시안 확률 분포를 샘플링하여 복수의 파티클들의 이동 거리 변화값을 결정할 수 있다.
도 5는 도 2에 도시된 실내 측위 장치의 제2 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 5를 참조하면, 컨트롤러(530)는 보행자의 각속도에 응답하여 제2 알고리즘을 통해 보행자의 이동 방향 변화값에 기반한 복수의 파티클들의 이동 방향 변화값을 결정할 수 있다. 이때, 제2 알고리즘은 보행자의 회전을 검출하여 보행자의 이동 방향 변화값에 기반한 복수의 파티클들의 이동 방향을 결정하는 알고리즘일 수 있다. 제2 알고리즘은 AHRS(attitude heading reference system) 샘플링 알고리즘일 수 있다.
예를 들어, 컨트롤러(530)는 전자 장치(300)로부터 전송된 보행자의 각속도에 응답하여 쿼터니언(quaternion)에 기반한 무감각 변환을 통해 보행자의 각속도에 기반한 보행자의 이동 방향 변화값을 추정할 수 있다.
보행자의 각속도는 전자 장치(300)의 자이로스코프(313)가 센싱한 센싱 데이터일 수 있다.
보행자의 이동 방향 변화값은 이전 샘플링 시점에서부터 무감각 변환으로부터 추정되는 보행자의 이동 방향의 변화값의 확률적인 추정치일 수 있다.
시간 t에서 보행자의 이동 방향 변화값은 쿼터니언 표현 방식으로 으로 표현될 수 있다. 는 Unscented Transform의 에 해당하고, 는 Unscented Transform의 이다. 이때, 는 Unscented Transform의 상태 벡터인 에 대한 공분산일 수 있다.
컨트롤러(530)는 무감각 변환을 통해 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포를 계산할 수 있다. 이때, 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포는 보행자의 이동 방향 변화값의 노이즈에 대한 예측 평균 및 공분산(또는 공분산 행렬; )에 기반한 분포일 수 있다.
예를 들어, 컨트롤러(530)는 무감각 변환을 통해 보행자의 이동 방향 변화값에 에러값이 반영된 보행자의 이동 방향 변화값의 노이즈를 계산할 수 있다.
컨트롤러(530)는 보행자의 이동 방향 변화값의 노이즈에 대한 예측 평균 및 공분산(또는 공분산 행렬)을 계산할 수 있다.
컨트롤러(530)는 예측 평균 및 공분산에 대한 가우시안 확률 분포를 계산할 수 있다.
컨트롤러(530)는 예측 평균 및 공분산에 대한 가우시안 확률 분포를 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포로 결정할 수 있다.
컨트롤러(530)는 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포를 샘플링하여 복수의 파티클들의 이동 방향 변화값을 결정할 수 있다.
예를 들어, 컨트롤러(530)는 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포로부터 각 파티클()의 이동 방향 변화값()을 샘플링하여, 복수의 파티클들의 이동 방향 변화값()을 결정할 수 있다.
컨트롤러(530)는 다음 이동 방향 변화값을 결정하기 위해 복수의 파티클들의 이동 방향 변화값을 결정한 후, 파티클 필터의 관점에서 를 identity quaternion으로 초기화하고, 의 노이즈를 표현하기 위한 상태 벡터 에 대한 공분산 행렬인 중에서 방향 로컬 에러와 관련된 값을 0으로 초기화할 수 있다. 즉, 컨트롤러(530)는 Unscented Transform의 관점에서, 를 identity quaternion으로 초기화하고, 상태 벡터 에 대한 공분산 행렬인 중에서 방향 로컬 에러와 관련된 값을 0으로 초기화하는 것이다.
도 6은 도 2에 도시된 실내 측위 장치의 제3 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 6을 참조하면, 컨트롤러(530)는 제3 알고리즘을 통해 보행자의 이동 거리 변화값 및 보행자의 이동 방향 변화값에 기반한 복수의 파티클들의 자세 변화값에 따라 복수의 파티클들의 자세를 추정(또는 업데이트)할 수 있다.
이에, 컨트롤러(530)는 추정된(또는 업데이트된) 복수의 파티클들의 자세에 기초하여 복수의 파티클들의 가중치를 결정할 수 있다.
예를 들어, 컨트롤러(530)는 복수의 파티클들의 이동 방향 변화값에 기초하여 복수의 파티클들의 방향을 결정(또는 업데이트)할 수 있다.
복수의 파티클들의 이동 방향 변화값에 기반한 복수의 파티클들의 방향은 수학식 47로 나타낼 수 있다.
컨트롤러(530)는 업데이트된 복수의 파티클들의 방향에 기초하여 복수의 파티클들의 오일러 각을 계산할 수 있다.
복수의 파티클들의 오일러 각의 yaw는 수학식 48로 나타낼 수 있다.
컨트롤러(530)는 복수의 파티클들의 이동 거리 변화값 및 복수의 파티클들의 오일러 각에 기초하여 복수의 파티클들의 자세를 추정(또는 업데이트)할 수 있다.
업데이트된 복수의 파티클들의 위치는 수학식 49 및 수학식 50으로 나타낼 수 있다.
컨트롤러(530)는 복수의 파티클들의 자세에 기초하여 복수의 파티클들의 가중치를 유지하거나 0으로 결정할 수 있다.
업데이트되기 전 복수의 파티클들의 자세와 업데이트된 복수의 파티클들의 자세를 연결하는 선이 벽을 나타내는 선분과 교차하지 않는 경우, 컨트롤러(530)는 복수의 파티클들의 가중치를 유지할 수 있다.
업데이트되기 전 복수의 파티클들의 자세와 업데이트된 복수의 파티클들의 자세를 연결하는 선이 벽을 나타내는 선분과 교차하는 경우, 컨트롤러(530)는 업데이트된 복수의 파티클들의 가중치를 0으로 결정할 수 있다.
보행자의 이동에 기반한 복수의 파티클들의 가중치는 수학식 51로 나타낼 수 있다.
컨트롤러(530)는 복수의 파티클들의 가중치에 기초하여 복수의 파티클들을 시각화할 수 있다.
예를 들어, 컨트롤러(530)는 전자 장치(300)를 통해 복수의 파티클들 중에서 가중치가 존재하는 파티클을 시각화할 수 있다. 이때, 가중치가 존재하는 파티클은 전자 장치(300) 시각화 어플의 가상 지도에서 가중치가 존재하는 파티클의 위치에 대응하는 지점에 매칭될 수 있다.
컨트롤러(530)는 제3 알고리즘을 이용하여 복수의 파티클들의 가중치를 결정(또는 업데이트)한 후, 복수의 파티클들의 가중치 합을 1로 정규화할 수 있다.
도 7은 도 2에 도시된 실내 측위 장치의 제4 알고리즘 동작을 설명하기 위한 일 예를 나타낸다.
도 7을 참조하면, 컨트롤러(530)는 보행자의 가속도, 보행자의 각속도 및 보행자 주변의 자기장에 응답하여 제4 알고리즘을 통해 보행자의 방향 및 복수의 파티클들의 방향에 기반한 복수의 파티클들의 가중치를 결정할 수 있다. 이때, 보행자의 방향은 보행자에 대한 오일러 각일 수 있다. 복수의 파티클들의 방향은 복수의 파티클들에 대한 오일러 각일 수 있다.
예를 들어, 컨트롤러(530)는 전자 장치(300)로부터 전송된 보행자의 가속도 및 보행자 주변의 자기장에 응답하여 보행자에 대한 오일러각을 계산할 수 있다. 이때, 보행자의 가속도는 보행자의 중력 가속도일 수 있다. 보행자의 중력 가속도 및 보행자 주변의 자기장은 전자 장치(300)의 마그네틱 컴퍼스(magnetic compass)가 센싱한 센싱 데이터일 수 있다.
먼저, 컨트롤러(530)는 보행자의 중력 가속도에 기초하여 보행자에 대한 오일러 각 중에서 피치 각(pitch angle) 및 롤 각(roll angle)을 계산할 수 있다.
는 world frame ONED(North, East, Down(NED) coordinates) 기준인 중력 가속도를 나타내고, 는 항체 좌표계 기준인 x축 중력 가속도, 는 항체 좌표계 기준인 y축 중력 가속도, 는 항체 좌표계 기준인 z축 중력 가속도을 나타낸다. 는 NED coordinates에서 항체 좌표계(body frame)으로의 변환 행렬, 예를 들어 중력 가속도에 대한 변환 행렬(transformation matrix)을 나타낸다.
중력 가속도에 대한 변환 행렬은 수학식 53으로 나타낼 수 있다.
보행자에 대한 피치 각은 수학식 54로 나타낼 수 있다.
보행자에 대한 롤 각은 수학식 55로 나타낼 수 있다.
이후에, 컨트롤러(530)는 보행자 주변의 자기장에 응답하여 보행자에 대한 오일러 각 중에서 요 각(yaw angle)을 계산할 수 있다. 이때, 보행자 주변의 자기장은 보행자 주변의 지구 자기장 강도(geomagnetic field intensity)일 수 있다.
보행자 주변의 자기장은 수학식 56으로 나타낼 수 있다.
는 ONED 프레임 기준인 지구 자기장 강도를 나타내고, 는 ONED 프레임 기준인 x축 지구 자기장 강도를 나타내고, 는 ONED 프레임 기준인 y축 지구 자기장 강도를 나타내고, 는 ONED 프레임 기준인 z축 지구 자기장 강도를 나타낸다. 는 항체 좌표계 기준인 지구 자기장 강도를 나타내고, 는 항체 좌표계 기준인 x축 지구 자기장 강도를 나타내고,는 항체 좌표계 기준인 y축 지구 자기장 강도를 나타내고,는 항체 좌표계 기준인 z축 지구 자기장 강도를 나타낸다. 는 항체 좌표계에서 NED coordinates로의 변환 행렬, 예를 들어 자기장에 대한 변환 행렬을 나타낸다.
로컬 자기 편각(local declination angle)을 고려하는 경우, 보행자에 대한 요 각은 수학식 57로 나타낼 수 있다.
보행자에 대한 오일러 각은 수학식 58로 나타낼 수 있다.
상술한 바와 같이 컨트롤러(530)는 보행자에 대한 오일러 각을 계산하지만, 이에 한정하는 것은 아니다. 예를 들어, 컨트롤러(530)는 전자 장치(300)로부터 보행자의 가속도 및 보행자 주변의 자기장에 기반한 보행자에 대한 오일러 각을 제공받을 수 있다.
컨트롤러(530)가 전자 장치(300)로부터 보행자에 대한 오일러 각을 제공받는 경우, 컨트롤러(530)는 보행자에 대한 오일러 각을 계산하는 과정을 생략할 수 있다.
컨트롤러(530)는 보행자의 가속도(또는 중력 가속도)의 편차, 보행자 주변의 자기장의 편차 및 테일러 시리즈 확장(taylor series expansion)에 기초하여 보행자에 대한 오일러 각의 노이즈에 대한 공분산(또는 공분산 행렬)을 계산할 수 있다. 이때, 보행자에 대한 오일러 각의 노이즈는 보행자의 가속도의 편차와 보행자 주변의 자기장의 편차(deviation)에 의해 획득(또는 계산)될 수 있다.
보행자의 피치 각 및 롤 각의 노이즈는 수학식 59로 나타낼 수 있다.
는 의 편차를 나타내고, 는 의 편차를 나타내고, 는 의 편차를 나타내고, 는 보행자의 피치 각의 노이즈에 대한 통계적인 편차(deviation)를 나타내고, 는 보행자의 롤 각의 노이즈에 대한 통계적인 편차를 나타내고, 는 가속도(예를 들어, 중력 가속도) 센서 편차로부터 [피치, 롤 각]의 편차로의 변환 행렬을 나타낸다.
보행자의 피치 각 및 롤 각의 통계적인 분산(variance)는 수학식 60로 나타낼 수 있다.
는 가속도(예를 들어, 중력 가속도) 센서의 통계적인 공분산 행렬을 의미하고, 센서 데이터(또는 센서 데이터 시트) 또는 실험을 통해 획득할 수 있다. , , 는 각각 항체 좌표계 기준 가속도(예를 들어, 중력 가속도) 센서의 x, y, z축의 통계적 분산(variance) 값을 의미한다.
보행자의 피치 각 및 롤 각의 노이즈에 대한 공분산은 수학식 59 및 수학식 60를 통해 수학식 61로 나타낼 수 있다.
보행자의 요 각의 노이즈에 대한 통계적인 편차는 수학식 62로 나타낼 수 있다.
수학식 62의 는 의 편차를 나타내고, 는 의 편차를 나타내고, 는 의 편차를 나타내고, 는 보행자의 요 각의 노이즈에 대한 통계적인 편차를 나타내고, 는 지자계 센서 편차로부터 요각의 편차로의 변환 행렬을 나타낸다.
보행자의 요 각의 통계적인 분산(variance)는 수학식 63로 나타낼 수 있다.
수학식 63의 는 지자계 센서의 통계적인 공분산 행렬을 의미하고, 센서 데이터(또는 센서 데이터 시트) 또는 실험을 통해 획득할 수 있다. , , 는 각각 항체 좌표계 기준 지자계 센서의 x, y, z축의 통계적인 분산값을 의미한다.
보행자의 요 각의 노이즈에 대한 분산(또는 공분산)은 수학식 62 및 수학식 63을 통해 수학식 64로 나타낼 수 있다.
보행자에 대한 오일러 각의 노이즈에 대한 공분산은 수학식 61 및 수학식 64를 통해 수학식 65로 나타낼 수 있다.
컨트롤러(530)는 보행자의 각속도에 응답하여 보행자의 이동 방향 변화값에 기반한 복수의 파티클들에 대한 오일러 각을 계산할 수 있다. 이때, 복수의 파티클들에 대한 오일러 각을 계산하는 과정은 제2 알고리즘 및 제3 알고리즘을 통해 계산될 수 있다.
컨트롤러(530)는 보행자에 대한 오일러 각의 노이즈에 대한 공분산 및 복수의 파티클들의 오일러 각에 기초하여 복수의 파티클들의 가중치를 결정(또는 업데이트)할 수 있다.
예를 들어, 각 가중치를 갖는 파티클은 파티클 자신이 갖고 있는 쿼터니언 상태가 참 값이라고 믿는다. 컨트롤러(530)는 각자 자산의 쿼터니언 상태를 갖는 파티클들을 가중치를 고려하여 모으면 파티클 필터로 추정하는 attitude의 분포를 계산할 수 있다.
즉, 컨트롤러(530)는 보행자에 대한 오일러 각의 가우시안 확률 분포에서 각 파티클들에 대한 오일러 각이 존재할 확률에 기초하여 복수의 파티클들의 가중치를 결정(또는 업데이트)할 수 있다.
보행자의 이동 및 보행자 주변의 자기장에 기반한 복수의 파티클들의 가중치는 수학식 66으로 나타낼 수 있다.
컨트롤러(530)는 제4 알고리즘을 이용하여 복수의 파티클들의 가중치를 결정(또는 업데이트)한 후, 복수의 파티클들의 가중치 합을 1로 정규화할 수 있다.
도 8은 도 2에 도시된 실내 측위 장치의 제4 알고리즘 동작을 설명하기 위한 다른 예를 나타낸다.
도 8을 참조하면, 실내 환경에서 자력계(magnetometer)에 기반한 보행자의 방향에 대한 추정(또는 heading estimation)은 건물 내부의 자기장 왜곡(magnetic field distortions)으로 인해 정확하지 않을 수 있다.
마그네틱 컴퍼스(magnetic compass)의 출력을 유효성 확인 없이 그대로 사용하는 경우, 보행자의 방향은 에러(error)로 인해 명백한 왜곡이 발생될 수 있다. 이때, 마그네틱 컴퍼스의 출력은 보행자의 가속도(또는 중력 가속도) 및 보행자 주변의 자기장일 수 있다.
이에, 컨트롤러(530)는 제4 알고리즘을 통해 복수의 파티클들의 가중치를 결정하는 과정에서 보행자에 대한 오일러 각 중에서 적어도 하나를 이용할 수 있다.
일 예로, 컨트롤러(530)는 보행자에 대한 오일러 각 중에서 요 각(yaw angle)을 제외하고, 피치 각(pitch angle) 및 롤 각(roll angle)을 이용할 수 있다.
다른 예로, 컨트롤러(530)는 마그네틱 컴퍼스의 출력에 대한 출력 타당성 검증을 진행하여 보행자의 피치 각(pitch angle), 롤 각(roll angle) 및 요 각(yaw angle)을 모두 이용할 수 있다.
예를 들어, 컨트롤러(530)는 마그네틱 컴퍼스(magnetic compass)의 출력과 자이로스코프(gyroscope)의 출력간의 유사도를 이용하여 실내 환경에서의 마그네틱 컴퍼스의 에러 정보를 추정함으로써, 마그네틱 컴퍼스에 대한 출력 타당성 검증을 수행할 수 있다. 이때, 자이로스코프의 출력은 보행자의 각속도일 수 있다.
도 9는 도 2에 도시된 실내 측위 장치의 제5 알고리즘 동작을 설명하기 위한 일 예를 나타내고, 도 10은 도 2에 도시된 실내 측위 장치의 제5 알고리즘 동작을 설명하기 위한 다른 예를 나타낸다.
도 9 및 도 10을 참조하면, 보행자와 무선 노드(100)간의 거리는 로그 거리 경로 손실 모델을 통해 획득될 수 있다. 이때, 로그 거리 경로 손실 모델은 노이즈 팩터(noise factor)가 제로-평균 가우시안 확률 변수(zero-mean Gaussian random variable)로 모델링되는 모델일 수 있다. 노이즈 팩터는 페이딩(fading)으로 인해 발생한 감쇠를 반영할 수 있다.
하지만, 실내 환경에서는 벽 및 사람 등의 장애물로 인해 심한 페이딩이 발생할 수 있다. 또한, 저전력 환경에서 개인 무선 통신망은 페이팅으로 인한 감쇠에 취약하여 예측할 수 없는 장애물로 인해 노이즈 모델(noise model)을 가우시안 분포의 형태로 획득할 수 없다.
실내 환경에서 무선 신호의 수신 세기의 변동에 영향을 주는 주요 요소는 다중 경로 페이딩(multipath fading) 및 쇄도우 페이딩(shadow fading)이기에, 실내 환경에서 는 LOS(line of sight) 환경의 측정치보다 약하게 측정(또는 감지)될 수 있다.
또한, 실내 환경에서 장애물에 의한 감쇠의 크기가 예상될 수 없기에, 페이딩(fading)은 단순히 평균 감쇠 수치와 측정치를 합하여 보상될 수 없다.
따라서, 컨트롤러(530)는 상술한 문제를 고려하여 제5 알고리즘을 통해 복수의 파티클들의 가중치를 결정하고, 무선 노드(100)의 위치를 추정한다.
컨트롤러(530)는 무선 노드(100)로부터 전송된 신호에 응답하여 제5 알고리즘을 통해 보행자 및 복수의 파티클들과 무선 노드(100)간의 거리에 기반한 복수의 파티클들의 가중치를 결정(또는 업데이트)할 수 있다.
예를 들어, 컨트롤러(530)는 복수의 파티클들 각각에 대응하는 무선 노드(100)에 대한 그리드 맵을 생성할 수 있다. 이때, 그리드 맵은 실내 환경에 대응하는 가상 환경에 복수의 그리드들을 형성한 맵일 수 있다. 그리드 맵은 복수의 파티클들 각각의 위치를 기준으로 생성될 수 있다. 복수의 파티클들 각각은 복수의 파티클들 각각에 대응하는 그리드 맵이 형성될 수 있다.
컨트롤러(530)는 무선 노드(100)로부터 전송된 신호의 세기에 기초하여 보행자(또는 전자 장치(100))와 무선 노드(100)간의 거리인 제1 거리를 계산할 수 있다. 제1 거리는 로그 거리 경로 손실 모델(log-distance path loss model)를 이용하여 계산될 수 있다.
로그 거리 경로 손실 모델은 수학식 67로 나타낼 수 있다.
는 송신 신호 강도(transmitted power)를 나타내고, 는 수신 신호 강도(received power)를 나타내고, 는 경로 손실 지수(path loss exponent)를 나타내고, 는 기준 거리(reference distance)를 나타내고, 는 기준 거리 까지의 경로 손실(path loss)를 나타내고, 는 제1 거리를 나타낸다. 는 Fading으로 인해 발생한 감쇠를 반영하는 noise factor이며, zero mean Gaussian random variable로 모델링된다.
제1 거리는 수학식 68로 나타낼 수 있다.
컨트롤러(530)는 복수의 파티클들의 위치 및 무선 노드(100)의 위치에 기초하여 복수의 파티클들과 무선 노드(100)간의 거리인 제2 거리를 계산할 수 있다.
무선 노드(100)가 기준 노드인 경우, 컨트롤러(530)는 복수의 파티클들의 좌표 및 기준 노드의 좌표를 이용하여 복수의 파티클들 각각과 기준 노드간의 제2 거리를 계산할 수 있다. 이때, 기준 노드인 무선 노드(100)는 무선 노드(100)에 대한 정보가 실내 측위 장치(500)에 미리 제공될 수 있다. 무선 노드(100)에 대한 정보는 무선 노드(100)의 위치 즉, 무선 노드(100)의 좌표일 수 있다.
기준 노드의 좌표를 이용한 제2 거리는 수학식 69로 나타낼 수 있다.
는 m번째 파티클과 기준 노드간의 제2 거리를 나타내고, 는 m번째 파티클의 x축 좌표를 나타내고, 는 m번째 파티클의 y축 좌표를 나타내고, 는 기준 노드의 x축 좌표를 나타내고, 는 기준 노드의 y축 좌표를 나타낸다.
이에, 컨트롤러(530)는 제1 거리 및 기준 노드에 기반한 제2 거리에 비교하여 복수의 파티클들의 가중치를 유지하거나 매우 낮게 결정(또는 업데이트)할 수 있다.
제1 거리가 제2 거리 이상인 경우, 컨트롤러(530)는 복수의 파티클들의 가중치를 유지할 수 있다.
제1 거리가 제2 거리 미만인 경우, 컨트롤러(530)는 복수의 파티클들의 가중치를 매우 낮게 결정할 수 있다.
무선 노드(100)가 기준 노드인 경우, 업데이트된 복수의 파티클들의 가중치는 수학식 70으로 나타낼 수 있다.
무선 노드(100)가 기준 노드가 아닌 경우, 컨트롤러(530)는 무선 노드(100)의 관측 여부에 기초하여 복수의 파티클들 각각과 기준 노드가 아닌 무선 노드(100)간의 제2 거리를 계산할 수 있다.
무선 노드(100)가 관측된 기록이 없는 경우, 컨트롤러(530)는 복수의 파티클들의 현재 위치를 기준으로 제1 거리 이내의 그리드에 포함된 셀을 초기화하여 그리드 맵을 업데이트할 수 있다. 이때, 셀은 그리드에 포함된 객체일 수 있다. 셀은 복수의 셀들일 수 있다.
무선 노드(100)가 관측된 기록이 있는 경우, 컨트롤러(530)는 복수의 파티클들의 좌표 및 무선 노드(100)에 대한 그리드 맵에 포함된 셀의 좌표에 기초하여 복수의 파티클들 각각과 기준 노드가 아닌 무선 노드(100)간의 제2 거리를 계산할 수 있다. 이때, 셀이 복수의 셀들인 경우, 셀의 좌표는 복수의 셀들의 중심 좌표일 수 있다.
복수의 셀들의 중심 좌표를 이용한 제2 거리는 수학식 71로 나타낼 수 있다.
는 j번째 무선 노드에 대한 n번째 셀을 나타내고, 는 j번째 무선 노드에 대한 복수의 셀들의 x축 중심 좌표, 는 j번째 무선 노드에 대한 복수의 셀들의 y축 중심 좌표, 는 m번째 파티클과 j번째 기준 노드가 아닌 무선 노드간의 제2 거리를 나타낸다.
컨트롤러(530)는 제1 거리 및 제2 거리를 비교하여 복수의 파티클들 각각에 대응하는 그리드 맵에 포함된 셀을 제거함으로써, 그리드 맵을 업데이트할 수 있다.
예를 들어, 컨트롤러(530)는 그리드 맵에 포함된 셀 중에서 복수의 파티클들의 위치를 기준으로 제1 거리 보다 먼 거리에 위치한 셀을 제거할 수 있다. 이때, 제거되는 셀은 무선 노드(100)의 위치로 추정될 가능성이 낮은 셀일 수 있다.
이에, 컨트롤러(530)는 업데이트된 그리드 맵에 대한 셀 존재 유무에 기초하여 복수의 파티클들의 가중치를 업데이트할 수 있다.
그리드 맵에 셀이 존재하는 경우, 컨트롤러(530)는 복수의 파티클들의 가중치를 유지할 수 있다.
그리드 맵에 셀이 존재하지 않는 경우, 컨트롤러(530)는 복수의 파티클들의 가중치를 매우 낮게 결정할 수 있다.
무선 노드(100)가 기준 노드가 아닌 경우, 업데이트된 복수의 파티클들의 가중치는 수학식 72로 나타낼 수 있다.
컨트롤러(530)는 제5 알고리즘을 이용하여 복수의 파티클들의 가중치를 결정(또는 업데이트)한 후, 복수의 파티클들의 가중치 합을 1로 정규화할 수 있다.
또한, 컨트롤러(530)는 무선 노드(100)로부터 전송된 신호에 응답하여 제1 내지 제5 알고리즘을 통해 무선 노드(100)의 위치를 반복적으로 추정함으로써, 무선 노드(100)의 위치를 결정할 수 있다. 이때, 무선 노드(100)의 추정치가 1차원이고, 무선 노드(100)로부터 전송된 신호가 구의 형태로 전파되기에, 무선 노드(100)의 위치는 단일 추정으로 결정될 수 없다.
예를 들어, 컨트롤러(530)는 제1 내지 제5 알고리즘을 통해 결정된 복수의 파티클들의 가중치와 제5 알고리즘을 통해 업데이트되는 그리드 맵에 기초하여 그리드 맵에 포함된 셀들이 점차 제거되어 최종적으로 수렴되는 셀을 무선 노드(100)의 위치로 결정할 수 있다.
도 10과 같이 보행자의 위치가 추정되는 경우, 컨트롤러(530)는 복수의 파티클들의 위치에 기초하여 제1 거리 및 제2 거리 범위에 있는 셀을 그리드 맵에 추가할 수 있다.
이후에 보행자가 오른쪽으로 이동하다 y축 방향으로 이동하는 경우, 컨트롤러(530)는 제1 내지 제5 알고리즘으로 통해 가중치가 낮아진 파티클들에 대응하는 셀을 제거할 수 있다.
또한, 컨트롤러(530)는 복수의 파티클들의 위치를 기준으로 제1 거리 보다 먼 거리에 위치한 셀을 제거할 수 있다.
상술한 바와 같이 컨트롤러(530)는 제1 내지 제5 알고리즘인 FastSLAM(factored solution to the simultaneous localization and mapping problem)을 통해 보행자의 자세 및 무선 노드(100)의 위치를 추정할 수 있다.
즉, FastSLAM은 보행자의 자세와 무선 노드(100)의 위치에 대한 사후 분포(posterior distribution)를 재귀적으로 추정하는 알고리즘일 수 있다.
도 11a는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 일 예를 나타내고, 도 11b는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 다른 예를 나타내고, 도 11c는 일 실시예에 따른 실내 측위 정보를 설명하기 위한 또 다른 예를 나타낸다.
도 11a 내지 도 11c를 참조하면, 컨트롤러(530)는 보행자의 자세와 6개의 무선 노드(100)의 위치를 매핑한 실내 측위 정보를 전자 장치(100)를 통해 시각화할 수 있다. 이때, 보행자는 보행자의 이동 방향을 변경하지 않고, -y축으로만 이동할 수 있다.
예를 들어, 컨트롤러(530)는 보행자에 대응하는 복수의 파티클들의 중심 위치로 보행자의 자세를 추정하고, 반복적으로 무선 노드(100)의 위치를 추정하여 고정된 위치로 무선 노드(100)의 위치를 추정할 수 있다. 이때, 복수의 파티클들의 가중치는 복수의 파티클들의 중심 위치에 근접할수록 높고 근접하지 않을수록 낮을 수 있다.
컨트롤러(530)는 보행자의 자세 및 무선 노드(100)의 위치가 매핑된 실내 측위 정보를 생성하여 실내 측위 정보를 전자 장치(300)에 제공함으로써, 전자 장치(300)를 통해 실내 측위 정보를 시각화할 수 있다.
도 12는 도 2에 도시된 실내 측위 장치의 동작을 설명하기 위한 순서도를 나타낸다.
도 12를 참조하면, 컨트롤러(530)는 보행자의 가속도에 응답하여 보행자의 이동을 검출할 수 있다(110).
컨트롤러(530)는 보행자의 가속도 및 각속도에 기초하여 보행자의 자세 변화값을 추정할 수 있다(120).
컨트롤러(530)는 보행자의 자세 변화값에 기초하여 보행자에 대응하는 복수의 파티클들의 자세 변화값을 추정할 수 있다(130).
컨트롤러(530)는 복수의 파티클들의 자세 변화값에 기초하여 복수의 파티클들의 자세를 추정(또는 업데이트)하고 복수의 파티클들의 가중치를 업데이트할 수 있다(140).
예를 들어, 컨트롤러(530)는 복수의 파티클들의 자세에 기초하여 복수의 파티클들의 가중치를 업데이트할 수 있다.
컨트롤러(530)는 보행자의 가속도 및 보행자 주변의 자기장에 기반한 보행자의 방향 및 보행자의 각속도에 기반한 복수의 파티클들의 방향에 기초하여 복수의 파티클들의 가중치를 업데이트할 수 있다.
컨트롤러(530)는 보행자 및 복수의 파티클들과 무선 모드(100)간의 거리에 기초하여 복수의 파티클들의 가중치를 업데이트할 수 있다.
컨트롤러(530)는 가중치가 업데이트된 복수의 파티클들을 리샘플링할 수 있다(150).
컨트롤러(530)는 리샘플링된 복수의 파티클들을 클러스터링할 수 있다(160).
컨트롤러(530)는 클러스터링된 복수의 파티클들에 기초하여 보행자의 자세를 추정할 수 있다(170).
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (22)
- 보행자의 자세 변화값, 보행자 주변의 자기장 및 무선 노드로부터 전송된 신호 각각에 순차적으로 응답할 때마다 상기 보행자에 대응하는 복수의 파티클들의 가중치를 결정하거, 상기 가중치가 결정될 때마다 상기 가중치를 정규화하는 단계; 및
정규화된 가중치에 기초하여 상기 보행자의 자세를 추정하는 단계
를 포함하고,
상기 자세 변화값은 상기 보행자의 이동에 따른 이동 거리 변화값 및 상기 보행자의 회전에 따른 이동 방향 변화값 중에서 적어도 하나이고,
상기 보행자의 자세는 상기 보행자의 위치 및 방향인 실내 측위 방법.
- 제1항에 있어서,
상기 정규화하는 단계는,
상기 보행자의 이동에 기반한 상기 이동 거리 변화값 및 상기 이동 방향 변화값에 기초하여 상기 가중치를 결정하는 단계
를 포함하는 실내 측위 방법.
- 제2항에 있어서,
상기 이동 거리 변화값 및 상기 이동 방향 변화값에 기초하여 상기 가중치를 결정하는 단계는,
상기 보행자의 가속도에 기반한 상기 이동 거리 변화값에 기초하여 상기 복수의 파티클들의 이동 거리 변화값을 결정하는 단계;
상기 보행자의 각속도에 기반한 상기 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 이동 방향 변화값을 결정하는 단계;
상기 복수의 파티클들의 이동 거리 변화값 및 상기 복수의 파티클들의 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 자세를 추정하는 단계; 및
추정된 복수의 파티클들의 자세에 기초하여 상기 가중치를 결정하는 단계
를 포함하는 실내 측위 방법.
- 제3항에 있어서,
상기 복수의 파티클들의 이동 거리 변화값을 결정하는 단계는,
상기 보행자의 가속도에 응답하여 상기 보행자의 이동을 검출하는 단계;
상기 보행자의 이동이 검출된 경우, 상기 보행자의 가속도에 기초하여 상기 보행자의 이동 거리 변화값을 추정하는 단계;
상기 보행자의 이동 거리 변화값에 대한 가우시안 확률 분포를 계산하는 단계; 및
상기 가우시안 확률 분포를 샘플링하여 상기 복수의 파티클들의 이동 거리 변화값을 결정하는 단계
를 포함하는 실내 측위 방법.
- 제3항에 있어서,
상기 복수의 파티클들의 이동 방향 변화값을 결정하는 단계는,
상기 보행자의 각속도에 응답하여 상기 보행자의 이동 방향 변화값을 추정하는 단계;
상기 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포를 계산하는 단계; 및
상기 가우시안 확률 분포로부터 상기 복수의 파티클들의 이동 방향 변화값을 샘플링하여 상기 복수의 파티클들의 이동 방향 변화값을 결정하는 단계
를 포함하는 실내 측위 방법.
- 제1항에 있어서,
상기 정규화하는 단계는,
상기 보행자의 이동 및 상기 자기장에 기반한 상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 단계
를 포함하는 실내 측위 방법.
- 제6항에 있어서,
상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 단계는,
상기 보행자의 가속도 및 상기 자기장에 응답하여 상기 보행자의 방향을 계산하는 단계;
상기 보행자의 각속도에 응답하여 상기 이동 방향 변화값에 기반한 상기 복수의 파티클들의 방향을 계산하는 단계; 및
상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 단계
를 포함하는 실내 측위 방법.
- 제1항에 있어서,
상기 정규화하는 단계는,
상기 신호에 기반한 상기 보행자 및 상기 복수의 파티클들과 상기 무선 노드간의 거리에 기초하여 상기 가중치를 결정하는 단계
를 포함하는 실내 측위 방법.
- 제8항에 있어서,
상기 보행자 및 상기 복수의 파티클들과 상기 무선 노드간의 거리에 기초하여 상기 가중치를 결정하는 단계는,
상기 신호에 응답하여 상기 신호의 신호 세기에 기반한 상기 보행자와 상기 무선 노드간의 거리인 제1 거리를 계산하는 단계;
상기 복수의 파티클들의 위치 및 상기 무선 노드의 위치에 기초하여 상기 복수의 파티클들과 상기 무선 노드간의 거리인 제2 거리를 계산하는 단계; 및
상기 제1 거리 및 상기 제2 거리에 기초하여 상기 가중치를 결정하는 단계
를 포함하는 실내 측위 방법.
- 제1항에 있어서,
상기 추정하는 단계는,
상기 정규화된 가중치에 기초하여 상기 복수의 파티클들을 리샘플링하는 단계; 및
리샘플링된 복수의 파티클들을 클러스터링하여 상기 보행자의 위치 및 방향을 추정하는 단계
를 포함하는 실내 측위 방법.
- 제1항에 있어서,
상기 신호에 기초하여 상기 무선 노드의 위치를 추정하는 단계; 및
상기 무선 노드의 위치 및 상기 보행자의 자세를 매핑하여 상기 무선 노드의 위치 및 상기 보행자의 자세가 매핑된 실내 측위 정보를 제공하는 단계
를 더 포함하는 실내 측위 방법.
- 통신 모듈; 및
보행자의 자세 변화값, 보행자 주변의 자기장 및 무선 노드로부터 전송된 신호 각각에 순차적으로 응답할 때마다 상기 보행자에 대응하는 복수의 파티클들의 가중치를 결정하고, 상기 가중치가 결정될 때마다 상기 가중치를 정규화하고, 정규화된 가중치에 기초하여 상기 보행자의 자세를 추정하는 컨트롤러
를 포함하고,
상기 자세 변화값은 상기 보행자의 이동에 따른 이동 거리 변화값 및 상기 보행자의 회전에 따른 이동 방향 변화값 중에서 적어도 하나이고,
상기 보행자의 자세는 상기 보행자의 위치 및 방향인 실내 측위 장치.
- 제12항에 있어서,
상기 컨트롤러는,
상기 보행자의 이동에 기반한 상기 이동 거리 변화값 및 상기 이동 방향 변화값에 기초하여 상기 가중치를 결정하는 실내 측위 장치.
- 제13항에 있어서,
상기 컨트롤러는,
상기 보행자의 가속도에 기반한 상기 이동 거리 변화값에 기초하여 상기 복수의 파티클들의 이동 거리 변화값을 결정하고, 상기 보행자의 각속도에 기반한 상기 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 이동 방향 변화값을 결정하고, 상기 복수의 파티클들의 이동 거리 변화값 및 상기 복수의 파티클들의 이동 방향 변화값에 기초하여 상기 복수의 파티클들의 자세를 추정하고, 추정된 복수의 파티클들의 자세에 기초하여 상기 가중치를 결정하는 실내 측위 장치.
- 제14항에 있어서,
상기 컨트롤러는,
상기 보행자의 가속도에 응답하여 상기 보행자의 이동을 검출하고, 상기 보행자의 이동이 검출된 경우, 상기 보행자의 가속도에 기초하여 상기 보행자의 이동 거리 변화값을 추정하고, 상기 보행자의 이동 거리 변화값에 대한 가우시안 확률 분포를 계산하고, 상기 가우시안 확률 분포를 샘플링하여 상기 복수의 파티클들의 이동 거리 변화값을 결정하는 실내 측위 장치.
- 제14항에 있어서,
상기 컨트롤러는,
상기 보행자의 각속도에 응답하여 상기 보행자의 이동 방향 변화값을 추정하고, 상기 보행자의 이동 방향 변화값의 노이즈에 대한 가우시안 확률 분포를 계산하고, 상기 가우시안 확률 분포를 샘플링하여 상기 복수의 파티클들의 이동 방향 변화값을 결정하는 실내 측위 장치.
- 제12항에 있어서,
상기 컨트롤러는,
상기 보행자의 이동 및 상기 자기장에 기반한 상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 실내 측위 장치.
- 제17항에 있어서,
상기 컨트롤러는,
상기 보행자의 가속도 및 상기 자기장에 응답하여 상기 보행자의 방향을 계산하고, 상기 보행자의 각속도에 응답하여 상기 이동 방향 변화값에 기반한 상기 복수의 파티클들의 방향을 계산하고, 상기 보행자의 방향 및 상기 복수의 파티클들의 방향에 기초하여 상기 가중치를 결정하는 실내 측위 장치.
- 제12항에 있어서,
상기 컨트롤러는,
상기 보행자 및 상기 복수의 파티클들과 상기 무선 노드간의 거리에 기초하여 상기 가중치를 결정하는 실내 측위 장치.
- 제19항에 있어서,
상기 컨트롤러는,
상기 신호에 응답하여 상기 신호의 신호 세기에 기반한 상기 보행자와 상기 무선 노드간의 거리인 제1 거리를 계산하고, 상기 복수의 파티클들의 위치 및 상기 무선 노드의 위치에 기초하여 상기 복수의 파티클들과 상기 무선 노드간의 거리인 제2 거리를 계산하고, 상기 제1 거리 및 상기 제2 거리에 기초하여 상기 가중치를 결정하는 실내 측위 장치.
- 제12항에 있어서,
상기 컨트롤러는,
상기 정규화된 가중치에 기초하여 상기 복수의 파티클들을 리샘플링하고, 리샘플링된 복수의 파티클들을 클러스터링하여 상기 보행자의 위치 및 방향을 추정하는 실내 측위 장치.
- 제12항에 있어서,
상기 컨트롤러는,
상기 신호에 기초하여 상기 무선 노드의 위치를 추정하고, 상기 무선 노드의 위치 및 상기 보행자의 자세를 매핑하여 상기 무선 노드의 위치 및 상기 보행자의 자세가 매핑된 실내 측위 정보를 제공하는 실내 측위 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180173977A KR102095135B1 (ko) | 2018-12-31 | 2018-12-31 | 실내 측위 방법 및 이를 수행하는 장치들 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180173977A KR102095135B1 (ko) | 2018-12-31 | 2018-12-31 | 실내 측위 방법 및 이를 수행하는 장치들 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102095135B1 true KR102095135B1 (ko) | 2020-03-30 |
Family
ID=70003198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180173977A KR102095135B1 (ko) | 2018-12-31 | 2018-12-31 | 실내 측위 방법 및 이를 수행하는 장치들 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102095135B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112902828A (zh) * | 2021-01-19 | 2021-06-04 | 陕西福音假肢有限责任公司 | 一种角度计算方法 |
CN113155128A (zh) * | 2021-03-31 | 2021-07-23 | 西安电子科技大学 | 基于合作型博弈的uwb和惯性导航的室内行人定位方法 |
KR102386226B1 (ko) * | 2020-11-05 | 2022-04-14 | (주)피플앤드테크놀러지 | 격자 기반 파티클 필터를 이용한 실내 측위 시스템 및 그 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101161103B1 (ko) * | 2010-12-23 | 2012-06-28 | 연세대학교 산학협력단 | 사용자 위치 추적 방법, 이를 이용한 평면도 제작 방법 및 장치 |
KR101231378B1 (ko) * | 2011-08-12 | 2013-02-15 | 숭실대학교산학협력단 | 파티클 필터 기반의 사용자 위치 추적 장치 및 기록매체 |
KR101264306B1 (ko) * | 2012-01-10 | 2013-05-22 | 숭실대학교산학협력단 | 이동 모델 학습을 통한 실내 위치 추적 장치 및 이를 위한 기록매체 |
KR20160140364A (ko) * | 2015-05-27 | 2016-12-07 | 삼성전자주식회사 | 실내 환경에서의 위치 확인 방법 및 전자장치 |
-
2018
- 2018-12-31 KR KR1020180173977A patent/KR102095135B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101161103B1 (ko) * | 2010-12-23 | 2012-06-28 | 연세대학교 산학협력단 | 사용자 위치 추적 방법, 이를 이용한 평면도 제작 방법 및 장치 |
KR101231378B1 (ko) * | 2011-08-12 | 2013-02-15 | 숭실대학교산학협력단 | 파티클 필터 기반의 사용자 위치 추적 장치 및 기록매체 |
KR101264306B1 (ko) * | 2012-01-10 | 2013-05-22 | 숭실대학교산학협력단 | 이동 모델 학습을 통한 실내 위치 추적 장치 및 이를 위한 기록매체 |
KR20160140364A (ko) * | 2015-05-27 | 2016-12-07 | 삼성전자주식회사 | 실내 환경에서의 위치 확인 방법 및 전자장치 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102386226B1 (ko) * | 2020-11-05 | 2022-04-14 | (주)피플앤드테크놀러지 | 격자 기반 파티클 필터를 이용한 실내 측위 시스템 및 그 방법 |
CN112902828A (zh) * | 2021-01-19 | 2021-06-04 | 陕西福音假肢有限责任公司 | 一种角度计算方法 |
CN112902828B (zh) * | 2021-01-19 | 2023-09-08 | 陕西福音假肢有限责任公司 | 一种角度计算方法 |
CN113155128A (zh) * | 2021-03-31 | 2021-07-23 | 西安电子科技大学 | 基于合作型博弈的uwb和惯性导航的室内行人定位方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105588566B (zh) | 一种基于蓝牙与mems融合的室内定位系统及方法 | |
Pei et al. | Optimal heading estimation based multidimensional particle filter for pedestrian indoor positioning | |
Perttula et al. | Distributed indoor positioning system with inertial measurements and map matching | |
CN110118560B (zh) | 一种基于lstm和多传感器融合的室内定位方法 | |
US10677883B2 (en) | System and method for automating beacon location map generation using sensor fusion and simultaneous localization and mapping | |
Ali et al. | Tightly coupling fusion of UWB ranging and IMU pedestrian dead reckoning for indoor localization | |
US20080077326A1 (en) | Method and System for Locating and Monitoring First Responders | |
Seitz et al. | A hidden markov model for pedestrian navigation | |
KR102095135B1 (ko) | 실내 측위 방법 및 이를 수행하는 장치들 | |
Ascher et al. | Integrity monitoring for UWB/INS tightly coupled pedestrian indoor scenarios | |
JP7077598B2 (ja) | 位置決定及び追跡のための方法、プログラム、及びシステム | |
CN115112121B (zh) | 基于数据与模型结合的多源融合定位方法、系统及终端 | |
CN107289932A (zh) | 基于mems传感器和vlc定位融合的单卡尔曼滤波导航装置和方法 | |
Hasan et al. | Smart phone based sensor fusion by using Madgwick filter for 3D indoor navigation | |
Li et al. | Research on the UWB/IMU fusion positioning of mobile vehicle based on motion constraints | |
CN107246872A (zh) | 基于mems传感器和vlc定位融合的单粒子滤波导航装置和方法 | |
CN116338570A (zh) | 定位方法、装置、计算机设备、存储介质和程序产品 | |
US20180328738A1 (en) | Systems and methods for utilizing graph based map information as priors for localization using particle filter | |
Koroglu et al. | Multiple hypothesis testing approach to pedestrian INS with map-matching | |
CN114185003B (zh) | 一种基于多源信号融合的室内定位方法及系统 | |
Pierce | Incorporation of a foot-mounted imu for multi-sensor pedestrian navigation | |
Kessel et al. | Automated WLAN calibration with a backtracking particle filter | |
Alonge et al. | Hybrid observer for indoor localization with random time-of-arrival measurments | |
Wang et al. | Testbed development for a novel approach towards high accuracy indoor localization with smartphones | |
Michel | On mobile augmented reality applications based on geolocation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |