1. INTRODUCTION
실내환경의 긴급구조 상황에서 소방관의 위치정보는 요구조자의 성공적인 구조 및 자신의 안전 복귀를 위해 매우 중요한 정보이다. 그러나 실내 환경에서는 Global Positioning System (GPS)/Global Navigation Satellite System (GNSS) 신호를 수신할 수 없으며, 무선통신 기반의 실내측위 기술은 화재 등의 상황에서 인프라의 파손으로 인해 사용 불가할 수 있다. 또한 이동통신 기반 단말기의 위치추정 기술은 그 정확도가 낮다. 이런 문제를 고려하여 인프라 없이 소방관의 몸에 부착된 Inertial Measurement Unit (IMU) 만으로 위치를 추정하는 Pedestrian Dead Reckoning (PDR) 기술이 전세계적으로 활발하게 연구되고 있다 (Skog et al. 2010, Ju & Park 2018, Cho et al. 2020).
PDR은 보행 패턴을 이용하여 보행자의 이동 변위를 추정하는 항법기술로 저급 IMU를 사용하더라도 오차의 증가 속도가 낮아 다양한 응용분야에 활용되고 있다 (Cho & Park 2006). 지금까지 PDR은 평지 환경에서 IMU의 장착 위치에 따른 걸음 검출 기법, 보폭 추정 기법, 이동 방향 결정 기법, IMU의 장착위치 인지 기법, 등이 주요 연구 주제였으며 (Park et al. 2021), 최근에는 IMU를 신발에 장착하는 경우 발의 Zero Velocity (ZV)를 다양한 보행 형태에 적응적으로 검출하는 기법, Zero-velocity UPdaTe (ZUPT) 또는 추정속도 기반 오차 보정 기법, 등이 연구되고 있다 (Skog et al. 2010, Cho & Park 2019). 이 논문에서는 IMU를 신발에 장착하고 Inertial Navigation System (INS) 알고리즘과 ZV 검출기법 및 ZUPT 기반 오차보정 기법을 기본적으로 사용하는 Pedestrian Inertial Navigation (PIN)을 채택하고, 이를 기반으로 정확한 고도 추정 기법과 지도 기반 방위각 보정 기법을 다룬다.
실내환경의 긴급구조 상황에서 보행자의 위치 이동은 보행에 의해서만 가능하며, 고도의 변화는 계단 보행에 의해서만 발생한다. PIN에서 ZUPT만으로 INS의 오차를 보정하는 경우, 상태변수 중에서 위치는 가관측하지 않으며, 방위각 및 자이로 바이어스는 가관측성 정도가 매우 낮다 (Cho et al. 2020). 이로 인해 두 가지 문제가 발생한다. 첫 번째는 고도 오차가 증가하는 것이며, 두 번째는 방위각 오차로 인해 수평축 위치 오차가 증가하는 것이다. 첫 번째 문제해결을 위해 고도 정보를 추정하거나 고도 오차 보정용 기압계를 사용하는 방법이 많이 연구되고 있으며 (Luo et al. 2020), IMU 신호의 패턴을 사용하여 층을 구분 (Classification)하는 기법도 연구되고 있다 (Qi et al. 2021). 이 논문에서는 한 걸음 동안에 발생할 수 있는 고도 차이가 평지 보행과 계단 보행에서 다르게 나타나는 점을 고려하여 추가 센서없이 Altitude Damping (AD)을 ZUPT와 함께 칼만필터에서 수행하는 기법을 제안한다. 두 번째 문제 해결을 위해서는 Fluxgate를 사용하거나 주 이동방향 인지 및 지도와의 정합 (Matching), 등에 의한 보정 기법이 연구되고 있다 (Ju et al. 2018). 이 논문에서는 디지털 지도의 가장 기본적인 정보인 링크 정보와의 정합을 통해 방위각 오차를 보정하는 기법을 제안한다. 디지털 지도는 소방장비의 IT화에 의해 쉽게 획득할 수 있으며, 지도 정보에 포함된 많은 정보 중에서 링크 정보만을 사용함으로써 사용되는 정보의 간략화를 할 수 있는 장점이 있다. 또한 기압계, Fluxgate와 같은 추가적인 센서를 사용하지 않음으로써 시스템의 간략화도 함께 지향하는 장점을 갖는다.
제안된 기술의 성능은 실 시험을 통해 검증한다. 3명의 실험자가 걷기, 옆걸음, 앉은 걸음, 달리기 및 계단 보행을 하면서 보행항법을 8분이상 수행하였으며 그 결과 2 m 이내의 정확도로 위치추정이 가능함을 보인다.
2. 3D PEDESTRIAN INERTIAL NAVIGATION AND SELF ALTITUDE DAMPING
PDR은 Parametric Approach (PA)와 Integration Approach (IA)로 나눌 수 있다. PA는 Fig. 1a와 같이 걸음 검출과 보폭 추정, 그리고 이동 방향 결정을 각각 수행하고, 그 결과를 조합하여 위치를 갱신하는 방법이다. PDR의 초기 개념으로 저가형 IMU를 사용하는 경우와 IMU를 발이 아닌 곳에 장착하는 경우에 적용하기 적합하다. IA는 Fig. 1b와 같이 INS 알고리즘으로 항법정보를 계산하고 ZUPT를 통해 INS의 오차를 보정하는 방법이다. 이를 위해서는 IMU의 ZV를 주기적으로 검출해야 하므로 일반적으로 IMU를 발에 장착하는 경우에 적합하다. 이 논문에서는 IA 기반 PDR을 다루며 PIN으로 명칭한다.
Fig. 1. Classification of PDR. (a) parametric approach, (b) integration approach
PIN에서 항법정보는 Eq. (1)과 같이 INS 알고리즘으로 계산한다 (Titterton & Weston 1997).
\(\mathbf{\dot L}^n=\mathbf{V}^n\)
\(\mathbf{\dot V}^n=\mathbf{C}_b^n \mathbf{f}^b-(2\boldsymbol{\omega}_{ie}^n+\boldsymbol{\omega}_{en}^n)×\mathbf{V}^n+\mathbf{g}^n\)
\(\mathbf{\dot Q }_b^n={1 \over 2} \mathbf{Q}_b^n (\boldsymbol{\omega}_{ib}^b-\mathbf{C}_n^b (\boldsymbol{\omega}_{ie}^n+\boldsymbol{\omega}_{en}^n))\) (1)
여기서 여기서 \(\mathbf{L}^n\)와 \(\mathbf{V}^n\)는 각각 항법좌표계 상의 위치와 속도벡터이며, \(\mathbf{C}_b^n\)와 \(\mathbf{Q}_b^n\)는 각각 동체좌표계에서 항법좌표계로 변환 Direction Cosine Matrix (DCM)과 이 두 좌표계 사이의 관계를 쿼터니언으로 나타낸 것이다. \(\mathbf{f}^b\)와 \(\boldsymbol{\omega}_{ib}^b\)는 각각 가속도계와 자이로 출력 벡터이며, \(\mathbf{g}^n\)는 항법좌표계 상의 중력 벡터, 그리고 \(\boldsymbol{\omega}_{ie}^n\)와 \(\boldsymbol{\omega}_{en}^n\)는 각각 지구자전각속도와 지구고정좌표계 대비 항법좌표계의 회전각속도 벡터를 항법좌표계 상으로 나타낸 것이다.
항법좌표계는 NED 좌표계로 일반적인 항법시스템에서 사용된다. 그러나 실내 항법을 수행하는 경우에는 지역수평좌표계 (Local Level Coordinate System)를 일반적으로 사용한다. 그러나 실내외 연동을 하기 위해서는 항법좌표계를 사용해야 하므로 이 논문에서는 항법좌표계를 그대로 사용하도록 한다.
ZV는 검출은 관성센서 출력의 조합과 알고리즘을 통해 이루어지며, 다양한 ZV 검출기법들이 계속 연구되고 있다. 걸음 속도 및 다양한 걸음 형태에 적응적인 정확한 ZV 검출 성능이 보장되어야 안정적인 PIN을 구동할 수 있다. ZV가 검출되면 ZUPT를 수행한다.
필터를 EKF 기반으로 설계하는 경우, PIN용 오차상태변수를 Eq. (2)와 같이 설정한다.
\(\delta \mathbf{x}=\left [ \begin{matrix}\delta \mathbf{L}^n&\delta \mathbf{V}^n & \phi^n & \triangledown^b \end{matrix} \right ]^T\) (2)
여기서 \(\delta \mathbf{L}^n\)와 \(\delta \mathbf{V}^n\)는 각각 위치오차와 속도오차 벡터이며, \(\triangledown^b\)는 가속도계 바이어스 벡터, 그리고 \(\phi^n\)는 항법좌표계 상의 자세오차 벡터로 ZUPT만 수행하는 경우에는 방위각에 해당하는 상태변수는 가관측성 정도가 매우 낮으므로 제외하고 2축만 사용하기로 한다 (Cho et al. 2020).
ZUPT에서 자이로 바이어스는 가관측성 정도가 낮아 상태변수에서 제외하고 정지상태에서 자이로 출력의 평균을 통해 추정하여 보상하도록 한다.
오차 상태변수는 시간전파를 하지 않으며, 오차 공분산의 시간전파는 Eq. (3)과 같이 IMU 출력 주기로 수행한다.
\(\mathbf{P}_k^-=\boldsymbol{\Phi}_{k-1} \mathbf{P}_{k-1} \boldsymbol{\Phi}_{k-1}^T+\mathbf{Q}\) (3)
여기서 \(\mathbf{P}\)와 \(\mathbf{Q}\)는 각각 상태변수 오차 공분산 행렬과 공정잡음 공분산 행렬이며, 시스템 행렬 \(\boldsymbol{\Phi}\)는 (Cho et al. 2020)에서 확인할 수 있다.
ZV가 검출되면 Eq. (4)와 같이 오차 상태변수와 오차 공분산 행렬의 측정치 갱신을 수행한다.
\(\delta \mathbf{\hat x}_k=\mathbf{P}_k^- \mathbf{H}^T (\mathbf{HP}_k^- \mathbf{H}^T+\mathbf{R})^{-1} \mathbf{\hat V}_k^n\)
\(\mathbf{P}_k=(\mathbf{I}_{11\times11}-\mathbf{P}_k^- \mathbf{H}^T (\mathbf{HP}_k^- \mathbf{H}^T+\mathbf{R})^{-1} \mathbf{H}) \mathbf{P}_k^-\) (4)
여기서 \(\mathbf{R}\)은 측정치 잡음 공분산 행렬이며, \(\mathbf{\hat V}_k^n\)는 속도 추정치로 측정치 갱신을 위한 측정치로 사용된다. 그리고 ZUPT만 수행하는 경우 측정치 행렬은 Eq. (5)와 같이 설정한다.
\(\mathbf{H}=\left [ \begin{matrix} \mathbf{0}_{3\times3}&\mathbf{I}_{3\times3}&\mathbf{0}_{3\times2}&\mathbf{0}_{3\times3} \end{matrix} \right ]\) (5)
ZUPT는 속도보정으로 시간에 따른 속도오차의 증가를 억제하며, 속도 측정치에 따라 가관측성이 보장되는 오차 상태변수는 추정 가능하며 해당 오차 공분산은 점점 0에 가까운 값으로 수렴하게 된다. 그러나 Eq. (2) 중에서 위치오차는 속도 측정치만으로 가관측이 보장되지 않는다. 물론 속도보정을 통해 위치오차 증가 속도는 크게 향상된다. 그러나 수직축 위치오차의 증가속도는 중력가속도의 영향으로 인해 수평축 보다는 크며 실내에서 층 구분이 어려워질 수도 있다. 계단 보행을 포함하는 실내 공간에서 안정적인 3D PIN을 위해 이 장에서 자체 고도 오차를 보정하는 기법을 제안한다.
Fig. 2. Altitude change for each step of pedestrian 1.
먼저 평지 보행과 계단 보행을 분리할 수 있는 각각 인지하는 것이 필요하다. 이를 위해 발이 지면에 닿는 Stance 구간 사이에 계산된 고도의 차이를 사용한다. 즉, Fig. 2를 기반으로 Eq. (6)과 같이 계산되는 한 걸음 동안의 고도 변위를 계단 보행 인지를 위한 변수로 활용한다.
\(\delta_{A,k}=|\hat L_{A,k}^n- \hat L_{A,k-1}^n |\) (6)
여기서 \(\hat L_{A,k}^n\)은 시간 \(k\)에서 계산된 고도 정보이다.
Fig. 2는 보행 시험에서 한 걸음마다 계산된 고도 변위의 예를 보여주고 있다. 계단 보행에서는 한 걸음 마다 약 30 cm 이상의 고도 변위를 보이는 반면 평지에서 일반 보행에서는 10 cm 이하, 뛰는 경우에는 15 cm 이하의 고도 변위를 보이고 있다. 이를 기반으로 ZV가 검출되면 \(\delta_{A,k}\)를 계산하고, 만약 \(\delta_{A,k} > th_s\)이면 계단 보행으로 인지하고, 그 반대이면 평지 보행으로 인지한다. 여기서 \(th_s\)는 계단의 높이를 고려하여 계단 보행 인지용 문턱값으로 실험을 통해 설정한다. 평지 보행으로 인지되면 ZUPT를 수행하고, 계단 보행으로 인지되면 ZUPT + AD 필터를 구동하게 되며 Eqs. (4), (5) 대신 Eq. (7)과 같이 오차 상태변수의 측정치 갱신을 수행한다.
\(\delta \mathbf{\hat x}_k=\mathbf{P}_k^- \mathbf{H}^T (\mathbf{HP}_k^- \mathbf{H}^T+\mathbf{R})^{-1} \left [ \begin{matrix} {\hat L}_{A,k}^n-{\hat L}_{A,k-1}^n \\ \mathbf{\hat V}_k^n \end{matrix} \right ]\) (7)
여기서
\(\mathbf{H}=\left [ \begin{matrix} \mathbf{0}_{1\times2}&1&\mathbf{I}_{1\times3}&\mathbf{0}_{1\times2}&\mathbf{0}_{1\times3} \\ \mathbf{0}_{3\times2}&\mathbf{0}_{3\times1}&\mathbf{I}_{3\times3}&\mathbf{0}_{3\times2}&\mathbf{0}_{3\times3} \end{matrix} \right ]\) (8)
AD를 통해 시간에 따른 고도 오차의 증가 속도를 제한시킬 수 있다. 그러나 절대 기준 대비 측정치 잡음을 포함하는 정보를 측정치로 사용하는 것이 아닌 한 걸음 사이의 상대적인 고도 변위를 측정치로 사용함으로써 고도 오차의 Drift가 발생할 수 있다. 이 문제를 해결하기 위해 계단 보행 후 연속적인 평지 보행이 이어지면, 평지 보행이 시작되는 시점에 추정된 고도정보를 Eq. (9)와 같이 측정치로 사용할 수 있다.
\(\delta \mathbf{\hat x}_k=\mathbf{P}_k^- \mathbf{H}^T (\mathbf{HP}_k^- \mathbf{H}^T+\mathbf{R})^{-1} \left [ \begin{matrix} {\hat L}_{A,k}^n-{\hat L}_{A,F}^n \\ \mathbf{\hat V}_k^n \end{matrix} \right ]\) (9)
여기서 \({\hat L}_{A,F}^n\)는 평지 보행이 시작되는 시점에 추정된 고도정보이다.
이 방법으로 고도 오차의 일부를 제한시킬 수 있다. 그러나 이 기법에서도 문제가 있다. 평지 보행이 시작되는 시점에 추정된 고도정보가 오차를 포함하고 있으며, 이로 인해 고도 추정치에 바이어스가 포함될 수 있다. 특히, 평지 보행 과정에서 보행 형태에 따라 계단 보행으로 잘못 인지될 수 있으며, ZUPT 만으로 보정되지 못한 고도 오차가 이후 AD 과정에서도 그대로 남아있게 된다. 이 문제는 건물의 층 높이 정보가 주어지면 해결될 수 있다. 그러나 건물의 층 높이 정보는 건물마다 다르므로 해당 정보를 사용하기 어렵다. 그러나 보행항법이 시작되는 층 높이를 0으로 설정하고 이 층의 높이만을 측정치로 사용함으로써 고도 정보의 정확도를 크게 향상시킬 수 있게 된다. 정리하면 Algorithm 1과 같다. Algorithm 1에서 \(k\geq3\)와 \(|{\hat L}_{A,F}^n |< 0.5 ~{\rm m}\)는 실험 데이터를 기반으로 설정하였으며, 의미는 연속 3걸음 이상 평지 보행을 하고 있으며, 계산된 고도가 0.5 m보다 작으면 보행항법을 시작한 층과 같은 층으로 인지하고 ZUPT + AD를 수행하는 것이다. 연속 3걸음을 설정한 이유는 계단 보행에서 가끔 평지 보행으로 인지되는 경우가 있으며, 이 경우에 AD를 수행하면 오차가 발생하기 때문에 이런 경우를 방지하기 위한 것이다.
3. HEADING CORRECTION USING MAP LINK INFORMATION
2장에서 제안된 ZUPT + AD 필터링을 통해 Eq. (2)에서 설정된 오차 상태변수 중에서 수평 위치오차를 제외한 상태변수는 모두 가관측하게 된다. 그러나 보행항법에서 제일 중요한 항법정보가 바로 수평 위치정보이다. 이 정보의 오차는 대부분 방위각 오차로 인해 발생한다. 그러나 방위각 오차는 가관측성 정도가 매우 낮아 상태변수 벡터에서 제외되어 있다. 따라서 자가 보정은 쉽지 않으며 추가적인 센서 정보가 필요하다. 대표적인 방위각 측정 센서는 Fluxgate이다. Fluxgate는 지구 자기장의 세기를 3축의 지자기 센서를 통해 측정하여 센서모듈의 방향을 계산하는 센서이다 (Cho 2005). 그러나 지자기 센서를 통해 측정되는 정보는 지구 자기장뿐 아니라 주위 구조물에 의해 발생되는 자기장 정보도 포함하고 있다. 따라서 실내에서 보행시험을 하는 경우 Fluxgate를 통한 보행자의 방위각을 측정하고 이 정보를 보행항법에 적용하면 정확하지 못한 항법정보를 산출하게 된다. 이 문제를 고려하여 이 논문에서는 지도의 링크 정보를 사용하여 PIN의 방위각 오차를 보정하는 기법을 제안하며 Fig. 3a에 이 알고리즘의 순서도를 보여주고 있다.
Fig. 3. Heading correction algorithm based on map link information. (a) algorithm flowchart, (b) Example of exteracting direction information based on map link information
보행항법을 시작하기 전에 먼저 실내 지도 정보를 기반으로 링크 (Link) 방향 정보를 생성한다. 디지털 지도는 기본적으로 노드 (Node) 정보와 링크 정보로 구성되어 있으며 여기에 다양한 속성 정보가 추가적으로 포함되어 있다. 이 중에서 노드 정보는 보행자가 지나가는 일종의 마일스톤과 같은 정보를 포함한다. 특히 방향을 바꾸는 곳의 노드 정보는 유용한 측정치로 활용될 수 있다. 그러나 이 논문에서 다루는 PIN의 정확도 대비 지도의 노드 정보는 상대적으로 부정확하므로 이 논문에서는 사용하지 않는다. 대형 몰과 같은 넓은 실내 공간에서는 사용하지 못하지만 복도가 있는 실내 공간에서 링크 정보는 보행자의 이동 방향 정보를 정확하게 반영하고 있으므로 이 논문에서 필요한 방위각 오차 보정을 위해 링크 정보를 활용하도록 한다. Fig. 3b에서 보여주는 지도 예에서 링크 정보에서 방향정보는 다음과 같이 추출한다. 노드 a, b를 연결하는 링크로부터 0도와 ±180도, 노드 a, c를 연결하는 링크로부터 ±90도, 그리고 노드 c, d를 연결하는 링크로부터 -45도와 135도의 방향정보를 추출하여 DB로 구성한다. 즉, 이 지도의 예에서는 총 7개의 방향정보를 DB로 구성한 다음 방위각 보정에 활용한다.
보행항법을 시작하면서 변수 Cnt를 0으로 초기화 한다. ZV가 검출되면 ZUPT 및 Algorithm 1에서 설명한 AD를 수행한다. 그 결과 오차를 보정한 위치정보를 저장한다. 그리고 연속적인 ZV 검출에 의해 위치 차분을 Eq. (11)과 같이 계산한다.
\(dL_{N,k}^n={\hat L}_{N,k}^n-{\hat L}_{N,k-1}^n\)
\(dL_{E,k}^n={\hat L}_{E,k}^n-{\hat L}_{E,k-1}^n\) (11)
여기서 \({\hat L}_{j,k}^n, j \in \{ N, E\}\)는 항법 좌표계 상의 \(j\)축 위치 추정치로 실내 환경에서 지역 수평 좌표계 상의 \(\{x,y\}\)축으로 전환할 수 있다.
그 다음, 위치 차분 정보를 사용하여 보행 방향과 방향 차분을 Eq. (12)와 같이 계산한다.
\({\hat \phi}_k^n=\tan^{-1} {dL_{E,k}^n \over dL_{N,k}^n}\)
\(d\phi_k^n={\hat \phi}_k^n-{\hat \phi}_{k-1}^n\) (12)
보행자의 보행 방향을 PIN에서 계산된 방위각 대신 위치 차분을 사용하여 계산하는 이유는 PIN에서 계산된 방위각은 보행자의 방위각이 아닌 IMU가 장착된 발의 방위각이기 때문이다. 만약 \(|d\phi_k^n |< \alpha\)이면, 직진 보행으로 인지하고 보행 초기에 초기화한 변수 Cnt에 1을 더한다. 그러나 이 조건이 만족되지 못하면 직진 보행이 아닌 것으로 인지하고 Cnt를 0으로 재초기화 한다. 여기서 \(\alpha\)는 작은 양의 값으로 실험을 통해 설정한다. 만약 Cnt가 \(\beta\)보다 크게되면, 지도의 링크 정보와 정합을 시작한다. 여기서 \(\beta\)도 실험을 통해 설정한다.
링크 정보와의 정합은 먼저 각 링크 방향정보와의 오차를 Eq. (13)과 같이 계산한다.
\(\delta {\hat \phi}_{j,k}^n={\hat \phi}_k^n-\xi_j^n,j \in \{1,2,⋯,N_L\}\) (13)
여기서 \(\xi_j^n\)은 Fig. 3b에서 나타낸 지도 링크 정보로 계산된 방향정보이며, \(N_L\)은 방향정보의 수이다.
계산된 각 링크 방향정보 별 오차 중에서 최소가 되는 방향정보를 추출한다.
\({\hat \xi}_{{\rm min}, k}^n = {\textrm{arg min} \atop j \in \{1,2,⋯,N_L\}} (\delta {\hat \phi}_{j,k}^n)\) (14)
이때 \(|\delta {\hat \phi}_{{\rm min},k}^n | < \gamma\)이면, 보행자의 이동 방향을 지도 링크 정보 중 하나와 정합된 것으로 판단하고 Eq. (15)와 같이 PIN의 방위각 오차를 보정한다.
\({\hat \psi}_k^n={\hat \psi}_k^n-({\hat \phi}_k^n-{\hat \xi}_{{\rm min},k}^n)\) (15)
여기서 \({\hat \psi}_k^n\)는 PIN에서 계산된 방위각 정보이다. 그리고 \(\gamma\)는 실험을 통해 설정한다.
4. EXPERIMENTAL ANALYSIS
이 논문에서 제시한 PIN의 고도 보정과 지도 링크 정보와의 정합기법의 성능을 분석하기 위하여 실시험을 수행하였다. 실험을 위해 사용된 IMU는 Xsens사의 MTw로 규격은 Table 1과 같다. IMU는 오른쪽 신발의 바깥쪽 굽 윗 부분에 장착하였다. 그리고 알고리즘에서 사용된 파라미터들은 사전 시험 분석을 통해 \(th_s=0.1~{\rm m}, \alpha =0.1 ~{\rm rad}, \beta=7,\) 그리고 \(\gamma=0.2 ~{\rm rad}\)로 설정하였다. 시험은 경일대학교 제2공학관 건물의 2~4층에서 수행되었으며 시험 궤적은 Fig. 4와 같다. 보행 형태는 걷기, 옆걸음, 앉은 걸음, 달리기 및 계단 보행을 포함하며 총 3명의 보행자가 각각 동일한 시험을 수행하였다. 그림에서 나타낸 10개의 마일스톤상에서 보행자는 잠시 정지하고 있으며, 이 곳에서 추정된 위치정보의 오차를 계산하여 성능을 분석하도록 한다. Figs. 5-7에서 각 보행자의 시험 결과를 나타내고 있다.
Table 1. Specification of the IMU (MTw).
Angular velocity | Acceleration | |
Full scale Non-linearity Bias stability Noise |
±2000 deg/s 0.1% of FS 10 deg/hr 0.01 deg/sec/√Hz |
±160 m/s2 0.5% of FS 0.1 mg 200 μg/√Hz |
Fig. 4. Test trajectory.
Fig. 5. Experimental results - altitude change for each step. (a) pedestrian 2, (b) pedestrian 3
Fig. 6. Experimental results - altitude estimates. (a) pedestrian 1, (b) pedestrian 2, (c) pedestrian 3
Fig. 7. Experimental results – 2D position estimates. (a) pedestrian 1, (b) pedestrian 2, (c) pedestrian 3
먼저 Figs. 2와 5를 통해 각 보행자의 각 걸음마다 계산된 고도 차이를 분석해 보면, 계단 보행에서 약 30 cm의 고도 차이를 보이고 있으며, 평지 보행에서는 대부분 10 cm 이하의 고도 차이를 보이고 있다. 그러나 달리기의 경우에는 고도 차이가 비교적 크게 나타나며 발이 지면에 닿을 때 발생하는 충격 등에 의한 영향으로 판단된다. 이를 고려하여 \(th_s\)를 크게 설정하면 계단 보행 인지에 오류가 발생할 가능성이 증가하게 된다. 계단 보행에서 계단을 인지하지 못하면 고도 계산에 문제가 발생하지만, 평지 보행에서 가끔 계단으로 인지하는 것은 고도 계산시 발생하는 오차가 상대적으로 적게 나타나며 이 오차는 그 다음 보행에서 평지로 인지하게 되면 다시 보상이 가능하게 된다. 따라서 이 논문에서는 \(th_s\)를 0.1 m로 설정하고 AD를 수행한다.
이를 기반으로 계산된 고도가 Fig. 6에서 나타내고 있다. 이 그림에서 AD-1, AD-2, 그리고 AD-3은 AD를 각각 Eqs. (7), (9), 그리고 (10)을 사용하여 수행한 결과를 의미한다. 보행을 시작한 3층의 고도를 0으로 하면, 4층은 4 m, 2층은 -4 m의 고도를 갖는다. AD를 수행하지 않으면, 고도 오차가 크게 발생하며 층 구분이 불가함을 알 수 있다. AD를 수행하면, 보행자 1과 2의 경우 AD 방법과 무관하게 좋은 고도 정보를 계산할 수 있으나 AD-1 보다는 AD-2의 방법이 좋은 성능을 보이며, Algorithm 1으로 제시된 AD-3의 경우 정확한 고도 계산이 이루어지는 것을 확인할 수 있다. 보행자 3의 경우, 앉은 걸음과 달리기 보행에서 평지 보행 인지가 잘 이루어지지 않아 고도 오차가 일부 발생하는 것을 알 수 있다. 그 이유는 Fig. 5b에서 계산된 고도 차이에서 확인할 수 있다. 보행자에 따라 앉은 걸음에서 수직축 충격이 크게 나타날 수 있으며, 달리기 보행에서는 평지 보행과 계단 보행 인지가 어려울 수도 있다는 것을 알 수 있는 실험 경우이다. 그러나 보행의 형태는 계속 바뀌게 되므로 달리기 후 걷기 보행이 시작되면 고도 오차가 빠르게 수렴하게 된다.
Fig. 7은 수평축 위치 추정치를 보여주고 있으며, Fig. 4에서 나타낸 10개의 마일스톤에서 계산된 위치추정 오차의 통계적 수치를 Table 2에서 보여주고 있다. 세 보행 시험 결과의 공통점은 방위각 오차가 없으면 수평축 위치 추정치 오차는 작다는 것이다. 즉, 정확한 ZV가 검출되고 ZUPT가 정상적으로 실행되는 경우 방위각 오차만 보정되면 정확한 위치 추정이 가능하게 된다.
보행자 1의 경우 3층에서 4층으로 올라가면서 방위각 오차가 시계방향으로 점점 크게 발생하고 있다. 초기 정지상태에서 보상되고 남은 자이로 바이어스에 의한 영향으로 분석된다. 여기서 두 가지 분석 포인트가 있다. 첫 번째는 AD를 하게 되면 2D와 3D의 오차 차이가 크지 않다는 것이다. 그 이유는 3D의 경우, 보상전에는 수평과 수직축 오차가 함께 위치 오차로 나타나지만 AD를 수행한 이후에는 수평축 오차가 위치 오차의 대부분을 차지하고 있기 때문이다. 두 번째는 Table 2에서 방위각 오차를 보상한 후의 위치 오차가 보상 전보다 더 크게 나타나고 있다. 그러나 Fig. 7a를 보면 보상 전의 위치 추정치 보다 보상 후의 위치 추정치가 더 안정적으로 이동 궤적 안쪽으로 나타나고 있다. 이를 함께 분석해 보면 10개의 마일스톤 중에서 3 ~ 5번 마일스톤에서 보상 후 오차가 더 크게 나타나고 있으며 전체 평균을 통해 보상전보다 보상후 오차가 더 크게 나타나는 것을 알 수 있다. 3 ~ 5번 마일스톤은 지도에서 윗쪽에 해당하는 것으로 PIN의 초기 정확도가 높기 때문에 지도 링크 정보와의 정합이 오히려 오차를 증가시킬 수 있음을 알 수 있다. 그러나 보행이 지속될수록 지도 링크 정보와의 정합이 위치 정확도를 크게 향상시키는 것을 알 수 있으며 Return Position Error 또한 정확도가 크게 향상되는 것을 Fig. 7a를 통해 확인할 수 있다.
Table 2. Positioning results according to the compensation method.
Statistical error | Pedestrian - 1 | |||||
w/o Comp. | AD-1 | AD-2 | AD-3 | AD-3 & HC | ||
2D | Mean Std. |
1.643 1.137 |
1.655 1.143 |
1.655 1.143 |
1.657 1.142 |
1.913 1.177 |
3D | Mean Std. |
3.143 1.728 |
1.711 1.152 |
1.692 1.145 |
1.660 1.142 |
1.916 1.177 |
Statistical error | Pedestrian - 2 | |||||
w/o Comp. | AD-1 | AD-2 | AD-3 | AD-3 & HC | ||
2D | Mean Std. |
2.484 2.074 |
2.478 2.051 |
2.479 2.051 |
2.480 2.053 |
1.188 0.547 |
3D | Mean Std. |
3.642 2.120 |
2.500 2.031 |
2.488 2.040 |
2.491 2.040 |
1.198 0.534 |
Statistical error | Pedestrian - 3 | |||||
w/o Comp. | AD-1 | AD-2 | AD-3 | AD-3 & HC | ||
2D | Mean Std. |
4.499 3.342 |
4.434 3.248 |
4.434 3.247 |
4.440 3.252 |
1.589 1.013 |
3D | Mean Std. |
5.252 3.328 |
4.488 3.209 |
4.472 3.205 |
4.482 3.212 |
1.665 0.957 |
보행자 2와 3의 경우 보행자 1의 첫 번째 분석 포인트와 유사한 경향을 보이고 있다. 즉 이 논문에서 제시한 AD 기법에 의한 고도 오차 보정은 시험 보행자에 상관없이 우수한 특성을 보이는 것으로 분석된다. Figs. 7b와 7c, 그리고 Table 2를 함께 분석해 보면 이 논문에서 제시한 지도 링크 정보와의 정합을 통한 방위각 오차 보정 기법이 PIN의 전체 위치 정확도 뿐 아니라 항법 전체 시간에서의 항법 정보 안정화에 크게 기여하고 있다는 것으로 결론을 내릴 수 있다.
그러나 만약 링크 정보와의 정합에서 잘못된 링크 정보와 정합이 이루어지면 큰 오차가 발생할 수 있다. 이 문제를 해결하기 위해 Eq. (14)와 \(|\delta {\hat \phi}_{{\rm min},k}^n | < \gamma\)를 통해 안전장치를 갖고 있지만 이 문제에서 완전히 해결하지는 못한다.
따라서 달리기 인지에 따른 고도 보정 기법과 지도의 노드 정보를 PIN과 지능적으로 융합할 수 있는 기법, 그리고 링크 정보와의 안전한 정합을 위한 연구를 추후 연구 방향으로 남겨둔다.
5. CONCLUSIONS
본 논문에서는 3차원 PIN의 정확도를 향상시키기 위한 고도 보정 기법과 지도 링크 정보와의 정합을 통한 방위각 보정 기법을 제안하였다. IMU를 신발에 장착하고 INS 알고리즘과 ZV 검출, 그리고 ZUPT 기반으로 보정을 하는 PIN에서 필터의 가관측성의 한계로 인해 위치 오차가 증가한다. 이 문제를 해결하기 위해 이 논문에서는 두 가지 기법이 제안하였다. 첫 번째는 한 걸음 동안에 발생할 수 있는 고도 차이를 기반으로 평지 보행과 계단 보행을 분리 인지하고, 이를 기반으로 걸음 형태에 따라 AD를 적응적으로 수행할 수 있도록 필터를 설계하였다. 두 번째는 디지털 지도의 링크 정보를 기반으로 지도의 복도 방향정보를 추출하고 이 정보를 PIN과 정합하여 방위각 오차를 보정하는 기법을 설계하였다. 제안된 기법의 성능을 검증하기 위해 3명의 실험자가 실내 환경에서 보행 시험을 수행하였으며, 시험 결과를 통해 8분 이상의 보행시험에서 2 m 이하의 정확도로 위치추정이 가능함이 검증되었다. 제안된 보정 기법은 추가적인 센서 없이 이루어진다는 장점을 갖고 있으며, 이를 기반으로 오차가 보정된 3차원 PIN을 통해 긴급구조 상황에서 소방관의 정확한 위치 추정이 가능하며, 이 외에도 다양한 응용분야에서 보행자의 위치를 추정하는데 유용하게 사용될 수 있을 것으로 기대된다.
ACKNOWLEDGEMENT
This work was supported by Institute of Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (NFA) (No. 2019-0-01325, Development of wireless communication tracking-based location information system in disaster scene for fire-fighters and person who reqested rescue).
AUTHOR CONTRIBUTIONS
Seong Yun Cho contributed to the design and implementation of the algorithm and to the writing of the manuscript. Jae Hong Lee contributed to provide information in writing the manuscript. Chan Gook Park supervised the research as a project administrator. All authors discussed the proposed approach and results.
CONFLICTS OF INTEREST
The authors declare no conflict of interest.
References
- Cho, S. Y. 2005, Enhanced tilt compensation method for biaxial magnetic compass, IEE Electronics Letters, 41, 1323-1325. https://doi.org/10.1049/el:20053464
- Cho, S. Y., Lee, J. H., & Park, C. G. 2020, Cubature point-based location domain fusion of PDRs mounted on both feet for indoor positioning of a firefighter, Journal of Institute of Control, Robotics and Systems, 26, 630-636. https://doi.org/10.5302/J.ICROS.2020.20.0057
- Cho, S. Y. & Park, C. G. 2006, MEMS based pedestrian navigation system, Journal of Navigation, 59, 135-153. https://doi.org/10.1017/S0373463305003486
- Cho, S. Y. & Park, C. G. 2019, Threshold-less zero-velocity detection algorithm for pedestrian dead reckoning, ENC2019, 9-12 Apr 2019, Warsaw, Poland. https://doi.org/10.1109/EURONAV.2019.8714170
- Ju, H. & Park, C. G. 2018, A pedestrian dead reckoning system using a foot kinematic constraint and shoe modeling for various motions, Sensors and Actuators A: Physical, 284, 135-144. https://doi.org/10.1016/j.sna.2018.09.043
- Ju, H., Park, S. Y., & Park, C. G. 2018, A smartphone-based pedestrian dead reckoning system with multiple virtual tracking for indoor navigation, IEEE Sensors Journal, 18, 6756-6764. https://doi.org/10.1109/JSEN.2018.2847356
- Luo, J., Zhang, C., & Wang, C. 2020, Indoor multi-floor 3D target tracking based on the multi-sensor fusion, IEEE Access, 8, 36836-36846. https://doi.org/10.1109/ACCESS.2020.2972962
- Park, S., Lee, J. H., & Park, C. G. 2021, Robust pedestrian dead reckoning for multiple poses in smartphones, IEEE Access, 9, 54498-54508. https://doi.org/10.1109/ACCESS.2021.3070647
- Qi, H., Wang, Y., Bi, J., Cao, H., & Xu, S. 2021, Research on HAR-based floor positioning, International Journal of Geo-Information, 10, 437. https://doi.org/10.3390/ijgi10070437
- Skog, I., Handel, P., Nilsson, J. O., & Rantakokko, J. 2010, Zero-velocity detection - an algorithm evaluation, IEEE Transactions on Biomedical Engineering, 57, 2657-2666. https://doi.org/10.1109/TBME.2010.2060723
- Titterton, D. H. & Weston, J. L. 1997, Strapdown Inertial Navigation Technology (London: Peregrinus)