DOI QR코드

DOI QR Code

A Study on smartphone indoor navigation technology using Extended Kalman filter

확장 칼만 필터를 이용한 스마트폰 실내 위치 추적 기술 연구

  • 도현열 (한성대학교 전자정보공학과) ;
  • 오종택 (한성대학교 전자정보공학과)
  • Received : 2018.11.19
  • Accepted : 2019.02.08
  • Published : 2019.02.28

Abstract

The indoor navigation system using smart phone is a very important infrastructure technology for users' location based services in large indoor facilities. For this purpose, if the user can estimate the movement distance and direction by using the acceleration sensor and the gyro sensor built in the smartphone, the additional external environment is not necessary, which is a very useful technique. This paper deals with indoor navigation system technology that uses Pedestrian Dead Reckoning (PDR) technology and Kalman filter on a general smartphone and allows the user to trace the position while moving the smartphone in front of his chest. In particular, an extended Kalman filter was designed to estimate the direction of movement, and its performance was verified when walking at a constant speed.

스마트폰을 이용한 실내 항법 시스템은 대형 실내 시설에서 사용자의 위치 기반 서비스를 위해 매우 중요한 기반 기술이다. 이를 위해서 스마트폰에 내장된 가속도 센서와 자이로 센서를 이용하여 사용자의 이동 거리와 방향을 추정할 수 있다면 추가적인 외부 환경이 필요 없으므로 매우 유용한 기술이 된다. 본 논문은 일반적인 스마트폰에 Pedestrian Dead Reckoning(PDR) 기술과 칼만 필터를 적용하여, 사용자가 스마트폰을 가슴 앞에 잡고서 이동하면서 위치를 추적하는 실내에서의 항법 시스템 기술에 관한 것이다. 특히 회전 방향각을 추정하기 위하여 확장 칼만 필터가 설계되었고 실험적으로 일정속도로 보행하는 경우에 그 성능이 검증되었다.

Keywords

Ⅰ. 서론

요즘 스마트 폰이 대중화되면서 스마트 폰을 이용한 다양한 서비스들이 개발되고 제공되는 가운데 그 중에서 센서를 이용해 사람의 행동을 인식하고 활용하는 연구가 진행되고 있다[1~4]. 실내 위치 추정 기술도 그 중 하나인데 GPS 신호가 실내에서는 수신되지 못하므로 실내에서도 사용자의 위치를 추정할 수 있도록 가속도 센서와 자이로 센서를 이용하여 사용자가 움직인 방향과 이동거리를 구할 수 있다.

사용자가 발걸음을 걸을 때마다 그 충격 신호를 측정하여 걸음 수와 보폭을 검출하는 보행 추측 항법(Pedestrian Dead Reckoning: PDR)에 관한 연구가 진행되어 왔다[5]. 또한 사용자의 이동 걸음 수와 보폭을 추정하여 이동거리를 구할 수 있도록 주파수 검출과 최대 최소 가속도의 합, 적응형 임계 값 등 세 가지 방식의 알고리즘 중에서 적응형 임계 값 방식의 성능이 가장 좋다는 연구 결과가 있었다[6].

본 논문에서는 사용자가 스마트폰을 가슴 앞으로 손에 들고 이동하는 경우에, 스마트폰에 내장된 가속도 센서와 자이로 센서를 이용하여 사용자의 이동 거리와 방향을 구하기 위해서 칼만 필터를 사용하였다. 특히, 회전방향각을 추정하기 위해서 비선형 상태 방정식을 사용하는 확장 칼만 필터(Extended Kalman Filter: EKF)를 사용하였다[7~9]. 이를 사용자의 발걸음을 검출하는 적응형 임계 값 방식과 함께 연동하여 사용자의 실내 이동 위치를 추정하였다. 그림 1은 전체 실내 위치 추적 시스템의 구성도이다. 스마트폰 내부에 장착된 가속도 센서와 자이로 센서로부터 각각 가속도 값 및 각속도 값을 측정하고, 가속도 값을 이용하여 스텝 및 보폭을 추정하며, 가속도와 자이로 값을 이용하여 회전 방향각을 추정한 후, 이 두 가지를 결합하여 이동 궤적을 추정한다.

OTNBBE_2019_v19n1_133_f0001.png 이미지

그림 1. PDR과 확장 칼만 필터를 적용한 실내 위치 추적 시스템의 기능 구성도

Fig. 1. The functional diagram of indoor tracking system using PDR and extended Kalman filter

Ⅱ. PDR을 이용한 이동 거리 추정

1. 적응형 임계값 방식의 걸음 수 검출

적응형 임계값 방식을 통해서 걸음을 검출하는 방법은, 가속도 센서의 값이 최대 임계값(Tmax)을 넘는 순간 스텝 검출을 시작하여 최소 임계값(Tmin)이 되기 전까지 최대 피크값(Pmax)을 찾고, Tmin 이후에는 가속도 센서 값이 0이 될 때까지 최소 피크값(Pmin)을 구한다. Tmin은 0.94로 값을 고정시키고, Tmax는 다음 식(1)을 사용하여 그 전 두 개의 Pmax의 평균을 사용하여 추정한다[10].

\(\operatorname{Tmax}_{(i+1)}=1 / 3^{*}\left(0.5^{*}(\operatorname{Pmax}(i)+\operatorname{Pmax}(i-1))\right)\)       (1)

또한 아래 식 (2)는 중간 값을 의미하는 것이고 식 (3)은 식 (2)를 이용하여 분산을 구하는 식이다.

\(m(X)=(\max (a c c)+\min (a c c)) / 2 \)       (2)

\(\operatorname{Var}=m\left(X^{2}\right)-m(X)^{2}\)      (3)

\(\begin{array}{l} \operatorname{Tmax}=0.5^{*} \mathrm{Var} \\ \operatorname{Tmin}=-0.5^{*} \operatorname{Var} \end{array}\)       (4)

OTNBBE_2019_v19n1_133_f0002.png 이미지

그림 2. 적응형 임계 값 방식으로 검출된 걸음 수

Fig. 2. The number of step detected by adaptive threshold method

2. 스마트폰 센서에 의한 보폭 추정

보폭을 추정하기 위해서 적응형 임계 값 방식에서 Pmin와 Pmax를 이용하였다[10].

\(S L=K \sqrt[4]{\operatorname{Pmax}-\operatorname{Pmin}}\)       (5)

SL은 적응형 임계 값 방식으로부터 구한 변수를 이용하여서 구한 사람의 보폭, 즉 걸음을 의미하는데 이 식에서 K는 보폭 상수이며 이 값은 키와 성별, 몸무게 등 여러 가지 경우에 의해서 달라진다[11].

위의 표는 각각 남자와 여자에 대한 실제 이동 거리와 추정 거리의 차이이다. 약 5% 정도의 오차가 있다.

표 1. 성별에 따른 보폭 추정 오차

Table 1. Stride estimation error according to the sex

OTNBBE_2019_v19n1_133_t0001.png 이미지

Ⅲ. EKF를 이용한 회전 방향각 추정

1. 회전 방향각 추정 알고리즘의 구성

스마트폰 내부에 장착된 가속도 센서와 자이로 센서로부터 각각 가속도 값 및 각속도 값을 측정하고, 가속도 센서 값으로 먼저 pitch 각과 roll 각을 수식으로 계산한 후, 이 값과 자이로 센서 값을 이용하여 스마트폰의 회전 방향각인 yaw 각을 계산한다. yaw 각을 계산하는 과정에서 확장 칼만 필터가 사용되었다.

OTNBBE_2019_v19n1_133_f0003.png 이미지

그림 3. 확장 칼만 필터를 적용한 회전 방향각 추정 알고리즘의 구성도

Fig. 3. The functional diagram of azimuthal direction estimation using extended Kalman filter

2. 상태 추정

자이로 센서는 바디 프레임의 오일러 각속도(\(\dot{\phi}\), \(\dot{\theta}\), \(\dot{\psi}\))를 측정을 하는 것이 아니고, 네비게이션 프레임의 각속도(p, q, r)를 측정하는 센서이다. 따라서 가속도 센서로 측정한 x, y, z 축의 가속도 fx, fy, fz와 식 (6)을 이용하여 pitch 각과 roll 각인 Φ와 θ를 구한 후, 자이로 센서로 측정한 각속도를 이용하여 아래의 식(7)로 오일러 각도를 계산한다[12].

\(\phi=\sin ^{-1}\left(\frac{-f_{y}}{g \cdot \cos \theta}\right), \theta=\sin ^{-1}\left(\frac{f_{x}}{g}\right)\)       (6)

\(\left[\begin{array}{l} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{array}\right]=\left(\begin{array}{l} 1 \sin (\phi) \tan (\theta) \cos (\phi) \tan (\theta) \\ 0 & \cos (\phi) & -\sin (\phi) \\ 0 \sin (\phi)_{\sec }(\theta) \cos (\phi)_{\sec }(\theta) \end{array}\right)\left(\begin{array}{l} p \\ q \\ r \end{array}\right)\)       (7)

하지만 (7)의 시간에 대한 미분식에서 구한 오일러 각도 Φ, θ, φ는 비선형 방정식이므로, 선형 미분 방정식에 적용되는 일반적인 칼만 필터에는 적용할 수 없기 때문에 EKF를 이용하여 회전 방향각, yaw φ를 구한다.

EKF 수식에 사용되는 Jacobian은 식 (8)로 정의된다.

\(A=\left[\begin{array}{lll} \frac{\partial f_{1}}{\partial \phi} & \frac{\partial f_{1}}{\partial \theta} & \frac{\partial f_{1}}{\partial \psi} \\ \frac{\partial f_{2}}{\partial \phi} & \frac{\partial f_{2}}{\partial \theta} & \frac{\partial f_{2}}{\partial \psi} \\ \frac{\partial f_{3}}{\partial \phi} & \frac{\partial f_{3}}{\partial \theta} & \frac{\partial f_{3}}{\partial \psi} \end{array}\right]\)       (8)

3. 확장 칼만 필터 알고리즘

① 초기 값 선정: \(\hat{x}_{0}\), P0

② 추정 값과 오차 공분산 예측

\(\widehat{x_{k}}^{-}=f\left(\hat{x}_{k-1}\right), P_{k}^{-}=A P_{k-1} A^{T}+Q\)

③ Kalman gain 계산

\(K_{k}=P_{k}^{-} H^{T}\left(H P_{k}^{-} H^{T}+R\right)^{-1}\)

④ 추정 값 계산

\(\hat{x}_{k}=\hat{x}_{k}+K_{k}\left(z_{k}-h\left(\hat{x}_{k}^{-}\right)\right)\)

⑤ 오차 공분산 계산

\(P_{k}=P_{k}^{-}+K_{k} H P_{k}^{-}\)

⑥ Δt후, k →k+1로 증가시키고, ②부터 반복 수행

4. 회전 방향각 추정 실험 결과

두 곳의 실내 장소에서 이동하며 방향을 90도씩 전환하며 스마트폰의 가속도 센서와 자이로 센서 값을 수집하고 저장하였다. 이들 측정 데이터에 위에서 사용한 수식을 적용하여 회전 방향각을 추정한 것이 그림 4이다.

OTNBBE_2019_v19n1_133_f0004.png 이미지

그림 4. (a) 90 °씩 시계 방향으로 회전한 경우의 회전 방향각 추정, (b) 90 °씩 반시계 방향으로 회전한 경우의 회전 방향각 추정

Fig. 4. (a) Estimation of direction of movement when rotated clockwise by 90 degrees, (b) Estimation of direction of movement when rotated counter-clockwise by 90 degrees

그림 4의 (a)와 (b)의 측정 결과를 분석해보면, 처음 시작은 기준점이기 때문에 0도로 시작한다. 각각의 실험은 시계방향으로 걸었을 때와 반시계 방향으로 걸었을 때, 각각 90도씩 총 4번 회전하며 측정한 것이며 정확히 90도 마다 단계적으로 변경되는 것을 확인할 수 있다. 따라서 구현된 알고리즘이 잘 동작하는 것을 확인하였다.

Ⅳ. 실험 결과

스마트폰의 저가형 가속도 센서와 자이로 센서를 이용하여 스텝 수 및 보폭을 이용한 이동 거리, 회전 방향각을 각각 추정하고 전체를 통합하여 실내에서의 이동 궤적을 추정하였다. 그림 5 (a)는 가로 20 m, 세로 10 m의 실내에서 약 50 m의 거리를 여러 번 방향 전환하면서 이동한 궤적에 대한 실험 결과이고, (b)는 가로 40 m, 세로 25 m의 실내에서 약 100 m의 거리를 이동한 궤적에 대한 실험 결과이다. 실선과 화살표는 실제의 이동 궤적과 방향이며, 점선과 점은 스마트폰 센서의 데이터로 추정된 궤적과 발걸음을 나타낸다.

OTNBBE_2019_v19n1_133_f0005.png 이미지

그림 5. (a), (b) 두 곳의 실내 장소에서 이동하며 측정한 스마트폰의 센서 데이터를 이용하여 추정한 이동 궤적. (실선은 실제 이동 궤적이며 화살표는 회전 방향각. 점선은 추정된 이동 궤적. 점은 발걸음 표시)

Fig. 5. (a), (b) The movement trajectory estimated by using the sensor data of the smartphone moved from two indoor places. (The solid line is the actual movement trajectory, the arrow indicates the movement direction, the dotted line indicates the estimated movement trajectory, and the point indicates the step)

그림 5의 실제 이동 궤적과 추정된 이동 궤적을 비교해 보면 약간의 오차는 있지만 실내 위치 기반 서비스를 제공하기에는 문제가 없다고 판단된다. 특히 실제로 실험 수행 시에 출발지점과 도착지점을 동일하도록 하였는데, 스마트폰에서 사용되는 센서가 저가임에도 불구하고 이동 궤적 추정 결과를 보면, 두 지점의 차이가 거의 없는 것을 확인할 수 있다.

V. 결론

본 논문에서는 스마트폰을 이용한 사용자의 실내 위치 추적을 위해, 적응형 임계값 알고리즘을 이용한 스텝 수 검출 기술과 보폭 추정 기술, 및 회전 방향각 추정 기술을 통합한 PDR 기술을 개발하였고 실험 결과 매우 양호한 추정 성능을 확인하였다.

특히 스마트폰의 회전 방향각을 추정하기 위하여, 스마트폰의 6축 관성 센서인 자이로 센서와 가속도 센서로 측정한 데이터에 EKF를 적용하여 추정 성능을 더욱 향상시켰다.

향후에는 스마트폰 사용자의 글로벌 좌표를 추정하기 위한 연구가 수행되어서, 사용자의 초기 위치 추정 및 자이로 및 가속도 센서의 누적 오차 보정이 이루어져야, 본 논문에서 개발된 기술의 실용화 가능성이 높아진다.

References

  1. Zhenghua Chen, Han Zou, Hao Jiang, Qingchang Zhu, Yeng Chai Soh, and Lihua Xie, "Fusion of WiFi, Smartphone Sensors and Landmarks using the Kalman Filter for Indoor Localization," Sensors, Vol. 15, No. 1, pp. 715-732, 2015. https://doi.org/10.3390/s150100715
  2. Muhammad Shoaib, Hans Scholten, and Paul JM Havinga, "Towards Physical Activity Recognition using Smartphone Sensors," Ubiquitous Intelligence and Computing, IEEE International Conference Autonomic and Trusted Computing, 2013.
  3. Yonggang Lu, Ye Wei, Li Liu, Jun Zhong, Letian Sun, and Ye Liu, "Towards Unsupervised Physical Activity Recognition using Smartphone Accelerometers," Multimedia Tools and Applications, Vol. 76, No. 8, pp. 10701-10719, 2017. https://doi.org/10.1007/s11042-015-3188-y
  4. Charissa Ann Ronao, and Sung-Bae Cho, "Human Activity Recognition with Smartphone Sensors using Deep Learning Neural Networks," Expert Systems with Applications, Vol. 59, pp. 235-244, 2016. https://doi.org/10.1016/j.eswa.2016.04.032
  5. Yun-Ki Kim, Jae-Hyun Park, Hwy-Kuen Kwak, Sang-Hoon Park, ChoonWoo Lee, and Jang-Myung Lee, "Performance Improvement of a Pedestrian Dead Reckoning System using a Low Cost IMU," Journal of Institute of Control, Robotics and Systems, Vol. 19, No. 6, pp. 569-575, 2013. https://doi.org/10.5302/J.ICROS.2013.12.1767
  6. Lee Kun-hee Lee, Hyeunkwan Kim, and Jongtaek Oh, "A Study on Detecting the Number of Steps Using Smart Phone Sensor for Location Tracking," The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 18, No. 3, pp. 119-125, 2018. https://doi.org/10.7236/JIIBC.2018.18.3.119
  7. Joao Luis Marins, Xiaoping Yun, Eric R. Bachmann, Robert B. McGhee, and Michael J. Zyda, "An Extended Kalman Filter for Quaternion-Based Orientation Estimation using MARG Sensors," IEEE/RSJ International Conference on Intelligent Robots and Systems, Vol. 4, 2001.
  8. Thomas Moore, and Daniel Stouch, "A Generalized Extended Kalman Filter Implementation for the Robot Operating System.," Intelligent Autonomous Systems, pp. 335-348, 2016.
  9. Yongkyu Song, and Jessy W. Grizzle, "The Extended Kalman Filter as a Local Asymptotic Observer for Nonlinear Discrete-Time Systems," IEEE American Control Conference, pp. 3365-3369, 1992.
  10. Yun-Kyung Kim, Sung-Mok Kim, Hyung-Suk Lho, and We-Duke Cho, "Real-Time Step Count Detection Algorithm Using a Tri-Axial Accelerometer," Journal of Internet Computing and Services, Vol. 12, No. 3, pp. 17-26, 2011.
  11. Wei Chen, Ruizhi Chen, Yuwei Chen, Heidi Kuusniemi, and Jianyu Wang, "An Effective Pedestrian Dead Reckoning Algorithm using a Unified Heading Rrror Model," IEEE/ION Position, Location, and Navigation Symposium, 2010.
  12. Hee Jin Park, and Young Mo Koo, "Evaluation of Spray Flight Attitude for Agricultural Roll-Balanced Helicopter using Kalman Filter," Journal of Biosystems Engineering, Vol. 37, No. 6, pp. 342-351, 2012. https://doi.org/10.5307/JBE.2012.37.6.342