DOI QR코드

DOI QR Code

Gyroscope Free 관성 측정 장치를 이용한Attitude Heading Reference System 설계

Design of Attitude Heading Reference System using Gyroscope Free Inertial Measurement Unit

  • 투고 : 2024.06.19
  • 심사 : 2024.08.10
  • 발행 : 2024.09.15

초록

An Attitude and Heading Reference System (AHRS) provides the attitude of a vehicle with a constant velocity using an Inertial Measurement Unit (IMU) and a magnetometer. In this case, in order to avoid the disadvantage of a gyroscope, an AHRS using a Gyro-Free IMU (GF-IMU) that is composed of only accelerometers may be considered instead of the gyroscopes. In this paper, a design method of an AHRS using a GF-IMU is proposed. The proposed AHRS consists of roll and pitch calculation, yaw calculation, angular acceleration and angular velocity calculation, attitude calculation, and a Kalman filter. In particular, since the angular velocity cannot be measured from a gyroscope, the angular acceleration is obtained from the accelerometer output, and the angular velocity is calculated by integrating it. In order to show the usefulness of the proposed method, a performance evaluation was carried out. The performance evaluation results show that the attitude estimation performance of the proposed AHRS is similar to that of the conventional AHRS.

키워드

1. 서론

항체의 자세를 결정하기 위하여 Inertial Measurement Unit (IMU), 다중 안테나 Global Positioning System (GPS) 수신기, 카메라 등 여러가지 항법 센서를 이용할 수 있다. IMU를 이용하는 Inertial Navigation System (INS)는 시간이 지남에 따라 센서 오차가 누적되어 자세 오차가 증가한다 (Titterton & Weston 2004). 다중 안테나 GPS 수신기를 이용하면 전파 방해나 지형으로 인하여 GPS 신호를 수신할 수 없는 경우 자세를 얻을 수 없으며, 카메라를 이용할 때에는 기상 상황이 악화되어 랜드마크 식별이 불가능한 경우 자세를 제공할 수 없다 (Park 1996, Kim 2014).

전술한 문제를 해결하기 위하여 Attitude Heading Reference System (AHRS)로 자세를 추정하는 것을 생각할 수 있다 (Farrell 2008, Hong & Won 2019). AHRS는 IMU와 지자계(magnetometer)의 출력으로부터 자세를 추정하며, 항체가 등속 운동을 할 때, 가속도계에 중력만 측정되는 성질을 이용하여 롤과 피치를 추정하고, 지자계 출력을 이용하여 요를 계산한다 (Farrell 2008). 이렇게 구한 롤, 피치, 요를 보조 신호(aiding signal)로 이용하여 자이로스코프 출력으로부터 구한 자세를 보정한다 (Farrell 2008). 최근에는 Micro Electro-Mechanical System (MEMS) IMU의 기술이 발전함에 따라 저가격의 소형 관성 센서를 사용할 수 있게 되면서 MEMS IMU로 구성한 AHRS가 주목받고 있다 (Geiger et al. 2008, Roh et al. 2011, Wang et al. 2014). Hong & Won (2019)은 정지 상태 추정 알고리즘과 간접 칼만필터를 이용하여 제안한 AHRS를 개발하고, 3축 로봇 시뮬레이터와 차량 주행 실험을 통해 제안한 AHRS가 상용 제품보다 안정적인 결과를 제공함을 보였다. Kim et al. (2018)은 영유아 사고를 방지하기 위하여 영유아용 웨어러블 디바이스에 AHRS를 설치하고, 모니터링 결과를 스마트 폰으로 보여주는 시스템을 구성한 결과를 발표하였다. Kwon & Lee (2015)는 피겨스케이트화에 MEMS 센서 기반의 AHRS를 부착하고, 스핀, 점프, 전/후진, 인/아웃 에지, 토(toe) 등의 동작을 측정한 결과를 발표하였다.

그런데, IMU에서 자이로스코프는 부피가 크고, 가격이 비싸며, 전력을 많이 소모하므로, 자이로스코프가 없는 Gyro-Free IMU (GF-IMU)를 이용하여 AHRS를 구성하는 방법을 생각할 수 있다.

GF-IMU 연구 초기에는 가속도계가 성능이 좋지 않아서 항법에 사용할 수 없었는데, 최근에는 냉각 원자 간섭계를 이용하여 가속도계로 매우 정확한 가속도 측정이 가능해지면서 다시 연구가 시작되었다 (Sorrentino et al. 2010, Pachter et al. 2013). Liu et al. (2014)은 12개의 가속도계로 구성한 4가지 GF-IMU를 제시하고, 칼만필터로 각속도와 비력을 추정한 결과를 보여주었다. Yu et al. (2016)은 정지한 항체에 대하여 가속도계 바이어스를 보정(calibration)하는 방법을 제안하고, 보정한 가속도계 출력을 칼만필터에 입력하여 자세와 각속도를 추정한 결과를 보여주었다. Yang et al. (2021)은 각가속도와 각속도를 추정하기 위한 새로운 가속도계 배치 방법을 제안하고, 측정 방향이 평행하거나 수직으로 배치하는 기존 배치 방법보다 제안한 방법이 안정적으로 각속도를 추정하는 것을 보여주었다. 전술한 결과를 보면 GF-IMU를 AHRS에 응용한 연구 결과는 없으므로, GF-IMU를 AHRS에 응용할 경우 종래의 AHRS를 대체할 수 있는 시스템을 저가격으로 구성하고, 자세 추정 결과를 얻을 수 있음을 예상할 수 있다.

본 논문에서는 GF-IMU를 이용한 AHRS의 설계 방법을 제안하고, 제안한 AHRS의 유용함을 보이기 위하여 시뮬레이션을 수행한 결과를 제시하고자 한다. 그리고, 종래의 AHRS와 자세 추정 결과를 비교한 성능평가 결과도 제시한다. 2장에서는 GF-IMU를 이용한 AHRS의 구성과 알고리즘에 대해 상세히 서술한다. 3장에서는 항체가 등속 운동할 때 종래의 AHRS와 GF-IMU를 이용한 AHRS의 자세 추정치를 비교한 결과를 제시하고자 한다. 마지막으로 4장에서는 본 연구의 결론 및 추후 계획을 서술한다.

2. GF-IMU를 이용한 AHRS

종래의(conventional) AHRS는 Fig. 1에 나타낸 바와 같이 IMU, 지자계, 롤, 피치, 요 계산, 자세 계산, 칼만필터로 이루어진다. 보조(aiding) 신호로 사용되는 롤, 피치, 요 계산에서 롤과 피치는 가속도계 출력으로부터 leveling을 수행하여 구하며, 가속도계에 중력  만 측정된다. 이때의 가속도계 출력은 Eq. (1)과 같다 (Groves 2013).

\(f^b=C_n^bf^n\)                                                                                                                                                                                       
\(=\left[\begin{matrix}\cos{\theta}\cos{\psi}&\cos{\theta}\sin{\psi}&-\sin{\theta}\\\sin{\phi}\sin{\theta}\cos{\psi}-\cos{\phi}\sin{\psi}&\sin{\phi}\sin{\theta}\sin{\psi}+\cos{\phi}\cos{\psi}&\sin{\phi}\cos{\theta}\\\cos{\phi}\sin{\theta}\cos{\psi}+\sin{\phi}\sin{\psi}&\cos{\phi}\sin{\theta}\sin{\psi}-\sin{\phi}\cos{\psi}&\cos{\phi}\cos{\theta}\\\end{matrix}\right]\left[\begin{matrix}0\\0\\-g\\\end{matrix}\right] \)                
\(\approx\left[\begin{matrix}g\sin{\theta}\\-g\sin{\phi}\cos{\theta}\\-g\cos{\phi}\cos{\theta}\\\end{matrix}\right]\)                                                                                                                                                         (1)

여기서,  \(\phi\)는 항체의 롤(roll),  \(\theta\)는 항체의 피치(pitch),  \(\psi\)는 항체의 요(yaw)를 의미한다. 보조 신호로 사용되는 요는 Eq. (1)로부터 구한 롤과 피치, 지자계 출력을 이용하여 자북(magnetic north)을 구하고, 자북에 편각(declination)을 더하여 구할 수 있다.

F1.png 이미지
Fig. 1. Conventional AHRS.

자세 계산에서는 자세 미분방정식을 풀어서 자세를 구한다. 이때, 위치 및 속도를 알 수 없는 경우에는 자세 미분방정식에 포함된 지구 자전 각속도와 craft rate를 무시한다 (Groves 2013).

칼만 필터는 보조 신호로 입력된 자세와 자이로스코프 출력을 적분하여 구한 자세 차이로부터 자세 오차를 추정한다. 마지막으로 자이로스코프 출력으로부터 구한 자세를 보정하여 최종 자세를 구한다.

본 논문에서 제안하는 GF-IMU를 이용한 AHRS는 Fig. 2에 나타내었다. GF-IMU를 이용한 AHRS는 롤과 피치 계산, 요 계산, 각가속도 및 각속도 계산, 자세 계산, 칼만필터로 이루어진다. 가속도계 출력으로부터 계산한 자세는 칼만 필터에서 추정한 자세 오차를 이용하여 보정한다.

F2.png 이미지
Fig. 2. AHRS using GF-IMU.


F3.png 이미지
Fig. 3. The inertial acceleration of point P.

항체의 무게중심으로부터 일정 거리 \(\mathbf{r}_i\) 만큼 떨어진 지점에 가속도계를 두면 Fig. 3에서 나타낸 바와 같이 무게중심에서의 비력 \(\mathbf{f}^b\), 구심 가속도 \(\boldsymbol{\omega}_{ib}^b\times\left(\boldsymbol{\omega}_{ib}^b\times \mathbf{r}_i\right)\), 접선 가속도 \({\dot{\boldsymbol{\omega}}}_{ib}^b\times \mathbf{r}_i\)가 P 지점에 나타난다. 이때, 가속도계 측정 방향 \(\mathbf{d}_i\)을 정하면 해당 지점에 나타나는 가속도를 구할 수 있다.

가속도계 N개가 주어진 경우 GF-IMU의 측정치는 Eq. (2)와 같다.

\(Y=\left[\begin{matrix}y_1\\\vdots\\y_N\\\end{matrix}\right]=\left[\begin{matrix}d_1^T\left(f^b+{\dot{\omega}}_{ib}^b\times r_1+\omega_{ib}^b\times\left(\omega_{ib}^b\times r_1\right)\right)\\\vdots\\d_N^T\left(f^b+{\dot{\omega}}_{ib}^b\times r_N+\omega_{ib}^b\times\left(\omega_{ib}^b\times r_N\right)\right)\\\end{matrix}\right]\)

\(=\left[\begin{matrix}\left(r_1\times d_1\right)^T&d_1^T\\\vdots&\vdots\\\left(r_N\times d_N\right)^T&d_N^T\\\end{matrix}\right]\left[\begin{matrix}{\dot{\omega}}_{ib}^b\\f^b\\\end{matrix}\right]+\left[\begin{matrix}d_1^T\left(\omega_{ib}^b\times\left(\omega_{ib}^b\times r_1\right)\right)\\\vdots\\d_N^T\left(\omega_{ib}^b\times\left(\omega_{ib}^b\times r_N\right)\right)\\\end{matrix}\right]=J\left[\begin{matrix}{\dot{\omega}}_{ib}^b\\f^b\\\end{matrix}\right]+M\)         (2)

여기서, \(y_i\)\(i\)번째 가속도계의 측정치, \({\dot{\boldsymbol{\omega}}}_{ib}^b\)는 각가속도, \(\boldsymbol{\omega}_{ib}^b\)는 각속도를 의미한다. Eq. (2)를 각가속도와 무게중심에서의 비력에 대해 정리하면 Eq. (3)과 같다.

\(\left[\begin{matrix}{\dot{\omega}}_{ib}^b\\f^b\\\end{matrix}\right]=\left(J^TJ\right)^{-1}J^T\left(Y-M\right)=\left[\begin{matrix}T_{\dot{\omega}}\\T_f\\\end{matrix}\right]\left(Y-M\right)\)                 (3)

Eq. (3)에 나타낸 무게중심에서의 비력 \(\mathbf{f}^b\)로부터 구한 롤 \(\phi\)는 Eq. (4)와 같다.

\(\phi=\boldsymbol{\rm atan2}(-f_y^b,-f_z^b)\)                         (4)

여기서, \(f^b_y\)는 무게중심에서의 y축 비력, \(f^b_z\)는 무게중심에서의 z축 비력을 의미한다. 피치 \(\theta\)는 Eq. (5)가 된다.

\(\theta=\boldsymbol{\rm atan}\left(\begin{matrix}\begin{matrix}\frac{f_x^b}{\sqrt{\left(f_y^b\right)^2+\left(f_z^b\right)^2}}\\\end{matrix}\\\end{matrix}\right)\)                     (5)

여기서, \(f^b_x\)는 무게중심에서의 x축 비력을 의미한다.

요 계산에서는 Eqs. (4, 5)와 지자계 출력으로부터 자북 \(\psi_m\)은 Eq. (6)과 같이 구한다.

\(\psi_m=\boldsymbol{\rm atan2}\left(-m_y^b\cos{\phi}+m_z^b\sin{\phi},m_x^b\cos{\theta}+m_y^b\sin{\phi}\sin{\theta}+m_z^b\cos{\phi}\sin{\theta}\right)\)         (6)

여기서, \(m_x^b,m_y^b,m_z^b\)는 각각 동체좌표계에서 나타낸 x, y, z축 지자계 출력을 의미한다. 진북(true north) \(\psi\)는 Eq. (7)과 같이 자북에 편각 \(\psi_d\)을 더하여 구한다.

\(\psi=\psi_m+\psi_d\)                         (7)

각가속도와 각속도 계산에서 각가속도는 Eq. (3)으로부터 구하고, 각속도는 각가속도를 적분하여 구한다.

자세 계산에서는 Eq. (8)에 나타낸 바와 같이 지구 자전 각속도와 craft rate를 무시한 자세 미분방정식을 풀어서 자세를 구한다 (Groves 2013).

\({\dot{\mathbf{C}}}_b^n=\mathbf{C}_b^n\mathrm{\boldsymbol{\Omega}}_{ib}^b-\left(\mathrm{\boldsymbol{\Omega}}_{ie}^n+\mathrm{\boldsymbol{\Omega}}_{en}^n\right)\mathbf{C}_b^n\)

\(\approx \mathbf{C}_b^n\mathrm{\boldsymbol{\Omega}}_{ib}^b\)                  (8)

여기서, \(\mathbf{C}_b^n\)는 동체좌표계에서 항법좌표계로의 direction cosine matrix, \(\mathrm{\boldsymbol{\Omega}}_{ie}^n\)는 항법좌표계에서 나타낸 지구 자전 각속도, \(\mathrm{\boldsymbol{\Omega}}_{en}^n\)는 항법좌표계에서 나타낸 craft rate를 의미한다.

칼만필터는 Eqs. (2, 8)에 각각 나타낸 각속도 미분방정식과 자세 미분방정식으로부터 구한 오차모델을 이용한다. 각속도 오차 미분방정식은 Eq. (9)와 같다.

\(\delta{\dot{\mathrm{\boldsymbol{\omega}}}}_{ib}^b=\mathbf{T}_{\dot{\mathrm{\boldsymbol{\omega}}}}\left(\delta \mathbf{Y}-\delta \mathbf{M}\right)\)                 (9)

여기서, \(\delta{\dot{\mathrm{\boldsymbol{\omega}}}}_{ib}^b\)는 각속도 오차, \(\delta \mathbf{Y}\)는 가속도계 오차, \(\delta \mathbf{M}\)은 Eq. (10)과 같다.

\(\delta \mathbf{M}=\mathbf{A}\delta\mathrm{\boldsymbol{\omega}}_{ib}^b\)

\(=\left[\begin{matrix}a_{1,1}&a_{1,2}&a_{1,3}\\\vdots&\vdots&\vdots\\a_{N,1}&a_{N,2}&a_{N,3}\\\end{matrix}\right]\delta\mathrm{\boldsymbol{\omega}}_{ib}^b\)             (10)

여기서, \(a_{j,k}\)\(\mathbf{A}\)\(j\)번째 행, \(k\)번째 원소를 의미한다.

\(a_{i,1}=\left(\omega_{ib,y}^br_{i,y}^b+\omega_{ib,z}^br_{i,z}^b\right)d_{i,x}+\left(\omega_{ib,y}^br_{i,x}^b-2\omega_{ib,x}^br_{i,y}^b\right)d_{i,y}+\left(\omega_{ib,z}^br_{i,x}^b-2\omega_{ib,x}^br_{i,z}^b\right)d_{i,z}\)     (11)

\(a_{i,2}=\left(\omega_{ib,x}^br_{i,y}^b-2\omega_{ib,y}^br_{i,x}^b\right)d_{i,x}+\left(\omega_{ib,x}^br_{i,x}^b+\omega_{ib,z}^br_{i,z}^b\right)d_{i,y}+\left(\omega_{ib,z}^br_{i,y}^b-2\omega_{ib,y}^br_{i,z}^b\right)d_{i,z}\)    (12)

\(a_{i,3}=\left(\omega_{ib,x}^br_{i,z}^b-2\omega_{ib,z}^br_{i,x}^b\right)d_{i,x}+\left(\omega_{ib,y}^br_{i,z}^b-2\omega_{ib,z}^br_{i,y}^b\right)d_{i,y}+\left(\omega_{ib,x}^br_{i,x}^b+\omega_{ib,y}^br_{i,y}^b\right)d_{i,z}\)     (13)

여기서, \(d_{i,x},d_{i,y},d_{i,z}\)는 각각 가속도계 측정 방향의 \(x,y,z\)축 성분, \(r_{i,x}^b,r_{i,y}^b,r_{i,z}^b\)는 각각 위치의 \(x,y,z\)축 성분을 의미한다. 자세 오차 미분방정식은 Eq. (14)와 같다.

\(\delta\dot{\mathrm{\boldsymbol{\psi}}}=-\mathbf{C}_b^n\delta\mathrm{\boldsymbol{\omega}}_{ib}^b\)                      (14)

여기서, \(\delta\dot{\mathrm{\boldsymbol{\psi}}}\)는 자세 오차를 의미한다. 칼만필터 구성을 위한 상태방정식은 Eq. (15)와 같다.

\(\delta\dot{\mathbf{x}}=\mathbf{F}\delta\mathbf{x}+\mathbf{w}\)                     (15)

여기서, \(\mathbf{F}\)는 시스템 행렬, \(\mathbf{w}\)는 프로세스 잡음을 의미한다. 상태변수 \(\delta\mathbf{x}\)는 Eq. (16)과 같다.

\(\delta \mathbf{x}=\left[\begin{matrix}\delta\mathrm{\boldsymbol{\psi}}^T&\delta{\mathrm{\boldsymbol{\omega}}_{ib}^b}^T&{\mathbf{b}_\mathbf{A}}^T&{\mathbf{b}_\mathbf{M}}^T\\\end{matrix}\right]^T\)
\(=\left[\begin{matrix}\delta\phi&\delta\theta&\delta\psi&\delta\omega_{ib,x}^b&\delta\omega_{ib,y}^b&\delta\omega_{ib,z}^b&b_{a,1}&\cdots&b_{a,N}&b_{m,x}&b_{m,y}&b_{m,z}\\\end{matrix}\right]^T\)
\(=\left[\begin{matrix}\delta x_1&\delta x_2&\delta x_3&\delta x_4&\delta x_5&\delta x_6&\delta x_7&\cdots&\delta x_{7+N}&\delta x_{8+N}&\delta x_{9+N}&\delta x_{10+N}\\\end{matrix}\right]^T\)             (16)

여기서, \(\delta\phi\)는 롤 오차, \(\delta\theta\)는 피치 오차, \(\delta\psi\)는 요 오차, \( \delta\omega_{ib,x}^b,\delta\omega_{ib,y}^b,\delta\omega_{ib,z}^b\)는 각각 각속도 오차의 x, y, z축 성분, \(b_{a,i}\)\(i\)번째 가속도계 바이어스, \(\mathbf{b_M}\)은 지자계 바이어스, \(b_{m,x},b_{m,y},b_{m,z}\)는 각각 지자계 바이어스의 x, y, z축 성분을 의미한다. 시스템 행렬 \(\mathbf{F}\)는 Eq. (17)과 같다.

\(\mathbf{F}=\left[\begin{matrix}0_{3\times3}&-\mathbf{C}_b^n&0_{3\times N}&0_{3\times3}\\0_{3\times3}&-\mathbf{T}_{\dot{\mathrm{\boldsymbol{\omega}}}}\mathbf{A}&\mathbf{T}_{\dot{\mathrm{\boldsymbol{\omega}}}}&0_{3\times3}\\0_{N\times3}&0_{N\times3}&0_{N\times N}&0_{N\times3}\\0_{3\times3}&0_{3\times3}&0_{3\times N}&0_{3\times3}\\\end{matrix}\right]\)(17)

측정 모델은 Eq. (18)과 같다.

\(\delta \mathbf{z}=h(\delta \mathbf{x})+\mathrm{\boldsymbol{\upsilon}}\)

\(=\mathrm{\boldsymbol{\psi}}_G-\mathrm{\boldsymbol{\psi}}+\mathrm{\boldsymbol{\upsilon}}\)

\(=\left[\begin{matrix}\phi_G-\phi\\\theta_G-\theta\\\psi_G-\psi\\\end{matrix}\right]+\mathrm{\boldsymbol{\upsilon}}\)                     (18)

여기서, \(\phi_G,\theta_G,\psi_G\)는 각각 자이로스코프 출력으로부터 구한 롤, 피치, 요, \(\phi,\theta\)는 가속도계 출력으로부터 구한 롤과 피치, \(\psi\)\(\phi\)\(\theta\) 그리고 지자계 출력으로부터 구한 요를 의미한다. \(\mathrm{\boldsymbol{\upsilon}}\)는 측정 잡음을 의미한다. 측정행렬 \(\mathbf{H}\)는 Eq. (19)와 같다.

\(\mathbf{H}=\left[\begin{matrix}\mathbf{H}_{att}&\mathbf{H}_{ang}&H_{acc}&\mathbf{H}_{mag}\\\end{matrix}\right]\)                 (19)

여기서, \(\mathbf{H}_{att}, \mathbf{H}_{ang}, H_{acc}, \mathbf{H}_{mag}\)는 각각 Eqs. (20-23)과 같다.

\(\mathbf{H}_{att}=\left[\begin{matrix}-\frac{\cos{\psi}}{\cos{\theta}}&-\frac{\sin{\psi}}{\cos{\theta}}&0\\\sin{\psi}&-\cos{\psi}&0\\-\tan{\theta}\cos{\psi}&-\tan{\theta}\sin{\psi}&-1\\\end{matrix}\right]\)                 (20)

\(\mathbf{H}_{ang}=\left[\begin{matrix}\frac{\partial h_1}{\partial\delta x_4}&\frac{\partial h_1}{\partial\delta x_5}&\frac{\partial h_1}{\partial\delta x_6}\\\frac{\partial h_2}{\partial\delta x_4}&\frac{\partial h_2}{\partial\delta x_5}&\frac{\partial h_2}{\partial\delta x_6}\\0&0&0\\\end{matrix}\right]\)                 (21)

\(\mathbf{H}_{acc}=\left[\begin{matrix}\frac{\partial h_1}{\partial\delta x_7}&\cdots&\frac{\partial h_1}{\partial\delta x_{7+N}}\\\frac{\partial h_2}{\partial\delta x_7}&\cdots&\frac{\partial h_2}{\partial\delta x_{7+N}}\\0&0&0\\\end{matrix}\right]\)                 (22)

\(\mathbf{H}_{mag}=\left[\begin{matrix}0&0&0\\0&0&0\\\frac{\partial h_3}{\partial\delta x_{8+N}}&\cdots&\frac{\partial h_3}{\partial\delta x_{10+N}}\\\end{matrix}\right]\)                 (23)

3. 성능평가

제안한 AHRS의 자세 추정 성능을 평가하기 위하여 데이터 생성기와 알고리즘으로 구성한 성능평가 시스템을 Fig. 4에 나타내었다. 데이터 생성기는 궤적 생성기, 지자계 측정치 생성기, True IMU 출력 생성기, GF-IMU 측정치 생성기로 이루어진다. 궤적 생성기는 항체의 위치, 속도, 자세를 생성한다. 지자계 측정치 생성기는 지구 자기장 테이블로부터 얻은 편각, 복각(inclination), 자속 크기(magnitude of the flux density)와 항체의 자세로부터 지자계 출력을 생성한다. True IMU 측정치 생성기는 항체의 위치, 속도, 자세로부터 비력과 각속도를 생성한다. GF-IMU 측정치 생성기는 true IMU 출력 생성기로부터 가속도계 측정치를 생성한다. 마지막으로 제안한 항법 시스템으로부터 추정한 자세와 궤적 생성기로부터 구한 true 자세를 비교하여 성능평가 결과를 출력한다.

F4.png 이미지
Fig. 4. Performance evaluation system for AHRS using GF-IMU.

F5.png 이미지
Fig. 5. Position, velocity and attitude of the vehicle.

Fig. 5에는 성능 평가를 위하여 궤적 생성기로 생성한 궤적을 나타내었으며, 이를 보면 항체가 North축 방향으로 50 m/s 등속 운동을 하면서 롤이 변하는 것을 알 수 있다. 이러한 궤적은 AHRS가 자세 정보를 제공하는데 필요한 운용 환경이므로, 성능 평가에 적절한 궤적임을 알 수 있다. 즉, Eq. (1)과 Eqs. (3, 4)를 보면 항체가 가속 운동을 하면, 등속 운동일 때의 중력만으로 계산한 롤과 피치가 부정확하여 AHRS의 자세 추정 성능이 저하될 수 있음을 알 수 있다. 센서 오차로 비정렬(misalignment) 오차, 가우스 마코프 프로세스(Gauss Markov process)와 같은 여러가지 오차를 포함할 경우에도 자세 오차가 증가할 수 있다.

Table 1에는 GF-IMU의 측정치 생성기와 지자계 측정치 생성기에서 사용한 Analog devices사의 전술급(tactical grade) 관성 센서인 ADIS16488의 가속도계, 자이로, 지자계 사양을 나타내었다.

Table 1. Accelerometer, gyroscope and magnetometer specification.

    Value
Accelerometer Bias
Random walk
0.029 m/s/\(\sqrt{hr}\)
16 mg
Gyroscope Bias
Random walk
0.3 deg/\(\sqrt{hr}\)
0.2 deg/s
Magnetometer Bias
Noise
15 mGauss
0.45 mGauss

 

F6.png 이미지
Fig. 6. GF-IMU for performance evaluation.

Fig. 6에는 성능평가에 사용한 GF-IMU를 나타내었다. 가속도계는 정육면체의 각 면의 중심에 위치해 있으며, 측정 방향은 각 면의 45도 방향을 향한다. 이때, 원점으로부터 가속도계 위치까지의 거리 l은 0.1 m이다.

GF-IMU의 가속도계 출력으로부터 구한 각가속도는 Eq. (24), 무게중심에서의 비력은 Eq. (25)와 같다.

\(\left[\begin{matrix}{\dot{\omega}}_{ib,x}^b\\{\dot{\omega}}_{ib,y}^b\\{\dot{\omega}}_{ib,z}^b\\\end{matrix}\right]=\mathbf{T}_{\dot{\omega}}\mathbf{Y}=\frac{1}{0.2\sqrt2}\left[\begin{matrix}1&-1&0&0&1&-1\\-1&0&1&-1&0&-1\\0&1&-1&-1&1&0\\\end{matrix}\right]\mathbf{Y}\)            (24)

\(\left[\begin{matrix}f_x^b\\f_y^b\\f_z^b\\\end{matrix}\right]=\mathbf{T}_f\mathbf{Y}-\mathbf{T}_f\mathbf{M}=\frac{1}{2\sqrt2}\left[\begin{matrix}1&1&0&0&-1&-1\\1&0&1&-1&0&1\\0&1&1&1&1&0\\\end{matrix}\right]\mathbf{Y}+0.1\left[\begin{matrix}\omega_{ib,y}^b\omega_{ib,z}^b\\\omega_{ib,x}^b\omega_{ib,z}^b\\\omega_{ib,x}^b\omega_{ib,y}^b\\\end{matrix}\right]\)       (25)

칼만필터의 상태변수는 Eq. (26), 시스템 행렬 \(\mathbf{F}\)는 Eq. (27)이 된다.

\(\delta \mathbf{x}=\left[\begin{matrix}\delta\mathrm{\boldsymbol{\psi}}^T&\delta{\mathrm{\boldsymbol{\omega}}_{ib}^b}^\mathbf{T}&{\mathbf{b_A}}^T&{\mathbf{b_M}}^T\\\end{matrix}\right]^T\)

\(=\left[\begin{matrix}\delta\phi&\delta\theta&\delta\psi&\delta\omega_{ib,x}^b&\delta\omega_{ib,y}^b&\delta\omega_{ib,z}^b&b_{a,1}&\cdots&b_{a,6}&b_{m,x}&b_{m,y}&b_{m,z}\\\end{matrix}\right]^T\)     (26)

\(\mathbf{F}=\left[\begin{matrix}0_{3\times3}&-\mathbf{C}_b^n&0_{3\times6}&0_{3\times3}\\0_{3\times3}&0_{3\times3}&\mathbf{T}_{\dot{\omega}}&0_{3\times3}\\0_{6\times3}&0_{6\times3}&0_{6\times6}&0_{6\times3}\\0_{3\times3}&0_{3\times3}&0_{3\times6}&0_{3\times3}\\\end{matrix}\right]\)                 (27)

측정행렬 Eq. (19)의 \(\mathbf{H}\)에서 \(\mathbf{H}_{ang}\)는 Eq. (28)과 같다.

\(\mathbf{H}_{ang}=0.1\left[\begin{matrix}\frac{\omega_{ib,x}^bf_z^b-\omega_{ib,y}^bf_y^b}{{f_{yz}^b}^2}&-\frac{\omega_{ib,x}^bf_y^b}{{f_{yz}^b}^2}&\frac{\omega_{ib,x}^bf_z^b}{{f_{yz}^b}^2}\\\frac{-\omega_{ib,y}^bf_x^b-\omega_{ib,z}^bf_x^b}{{f_{xyz}^b}^2f_{yz}^b}&\frac{\omega_{ib,z}^bf_{yz}^b-\omega_{ib,x}^bf_x^b}{{f_{xyz}^b}^2f_{yz}^b}&\frac{\omega_{ib,x}^bf_{yz}^b-\omega_{ib,x}^bf_x^b}{{f_{xyz}^b}^2f_{yz}^b}\\0&0&0\\\end{matrix}\right]\)             (28)

여기서,  \({f_{xyz}^b}^2 \)\(f_{yz}^b\)는 각각 Eqs. (29, 30)과 같다.

\({f_{xyz}^b}^2=\left(f_x^b\right)^2+\left(f_y^b\right)^2+\left(f_z^b\right)^2\)             (29)

\(f_{yz}^b=\sqrt{\left(f_y^b\right)^2+\left(f_z^b\right)^2}\)                 (30)

\(\mathbf{H}_{acc}\)\(\mathbf{H}_{mag}\)는 각각 Eqs. (31, 32)와 같다.

\(\mathbf{H}_{acc}=\left[\begin{matrix}\frac{f_z^b}{2\sqrt2{f_{yz}^b}^2}&\frac{-f_y^b}{2\sqrt2{f_{yz}^b}^2}&\frac{f_z^b-f_y^b}{2\sqrt2{f_{yz}^b}^2}&\frac{f_y^b-f_z^b}{2\sqrt2{f_{yz}^b}^2}&\frac{-f_y^b}{2\sqrt2{f_{yz}^b}^2}&\frac{f_z^b}{2\sqrt2{f_{yz}^b}^2}\\\frac{f_{yz}^b-f_x^b}{2\sqrt2{f_{xyz}^b}^2}&\frac{f_{yz}^b-f_x^b}{2\sqrt2{f_{xyz}^b}^2}&\frac{-f_x^bf_y^b-f_x^bf_z^b}{2\sqrt2{f_{xyz}^b}^2f_{yz}^b}&\frac{f_x^bf_y^b-f_x^bf_z^b}{2\sqrt2{f_{xyz}^b}^2f_{yz}^b}&\frac{-f_{yz}^b-f_x^b}{2\sqrt2{f_{xyz}^b}^2}&\frac{-f_{yz}^b-f_x^b}{2\sqrt2{f_{xyz}^b}^2}\\0&0&0&0&0&0\\\end{matrix}\right]\)        (31)

\(\mathbf{H}_{mag}=\left[\begin{matrix}0&0&0\\0&0&0\\\frac{\beta c o s{\theta}}{\alpha^2+\beta^2}&\frac{\beta s i n{\phi}sin{\theta}+\alpha c o s{\phi}}{\alpha^2+\beta^2}&\frac{\beta c o s{\phi}sin{\theta}-\alpha s i n{\phi}}{\alpha^2+\beta^2}\\\end{matrix}\right]\)               (32)

여기서, \(\alpha\)\(\beta\)는 각각 Eqs. (33, 34)와 같다.

\(\alpha=m_x\cos{\theta}+m_y\cos{\phi}\sin{\theta}+m_z\cos{\phi}\sin{\theta}\)             (33)

\(\beta=-m_y\cos{\phi}+m_z\sin{\phi}\)                 (34)

Fig. 7에는 초기 롤 오차를 3도, 초기 피치 오차를 3도, 초기 요 오차를 5도로 두고, 몬테 카를로 시뮬레이션을 100회 수행하여 구한 종래의 AHRS와 제안한 GF-IMU를 이용한 AHRS의 자세 Root Mean Square Error (RMSE)를 나타내었다.

F7.png 이미지
Fig. 7. Simulation result of conventional AHRS and AHRS using GF-IMU.

Table 2에는 Fig. 7에 나타낸 자세 오차의 RMSE의 평균을 나타내었다. Fig. 7을 보면 좌측에 나타낸 종래의 AHRS에 비해 우측에 나타낸 제안한 AHRS의 롤 오차와 피치 오차가 더 크지만, 경향이 비슷한 것을 알 수 있다. 그리고, 요 오차도 동일하게 롤 오차와 피치 오차보다 크며, Table 2를 보면 종래의 AHRS와 제안한 AHRS가 유사한 요 추정 성능을 제공함을 알 수 있다.

Table 2. RMSE of attitude estimation results.

Attitude Conventional AHRS AHRS using GF-IMU
Roll (deg)
Pitch (deg)
Yaw (deg)
0.33
0.23
1.57
0.53
0.53
1.45

 

4. 결론 및 추후 계획

본 논문에서는 GF-IMU를 이용한 AHRS를 제안하였다. 제안한 GF-IMU를 이용한 AHRS의 유용함을 보이기 위하여 종래의 AHRS와 자세 추정 결과를 비교하는 성능평가를 수행하였다. 성능평가 결과로부터 종래의 AHRS와 유사한 경향을 보이므로, 제안한 GF-IMU를 이용한 AHRS가 종래의 AHRS를 대체할 수 있음을 확인하였다.

추후에는 상황 검출기를 추가하여 항체가 등속 운동을 할 경우에는 제안한 항법 시스템으로 동작하고, 아닌 경우에는 GF-INS로 동작하는 상황 적응 AHRS를 제안할 것이다. 그리고, 지상 항체에 GF-IMU와 지자계를 탑재하고, 도로 주행 시험을 통해 수집한 실측 데이터를 이용하여 제안한 알고리즘에 대한 성능 평가를 수행할 것이다.

ACKNOWLEDGMENTS

This work was supported by the research fund of Chungnam National University.

AUTHOR CONTRIBUTIONS

Conceptualization, J. H. Son and D.-H. Hwang; software, J. H. Son; supervision, S. Y. Lee, H. S. Kim and D.-H. Hwang; writing – original draft, J. H. Son; writing – review & editing, D.-H. Hwang.

CONFLICTS OF INTEREST

The authors declare no conflict of interest.

참고문헌

  1. Farrell, J. A. 2008, Aided Navigation: GPS with High Rate Sensors (New York: McGraw Hill).
  2. Geiger, W., Bartholomeyczik, J., Breng, U., Gutmann, W., Hafen, M., et al. 2008, MEMS IMU for ahrs applications, In 2008 IEEE/ION Position, Location and Navigation Symposium, Monterey, CA, 05-08 May 2008. https://doi.org/10.1109/PLANS.2008.4569973
  3. Groves, P. D. 2013, Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, 2nd Ed. (Boston, London: Artech House).
  4. Hong, H. & Won, M. 2019, AHRS Development Using Still-State Estimation and Indirect Kalman Filter, The Transactions of the Korean Institute of Electrical Engineers, 68, 797-803. https://doi.org/10.5370/KIEE.2019.68.6.797
  5. Kim, E., Kim, S., & Kim, D.-Y. 2018, Implementation of Infant Monitoring System using AHRS Algorithm, Journal of Platform Technology, 6, 41-48.
  6. Kim, Y. 2014, Geometric effect in landmark-based vision navigation system and INS/vision integrated navigation system considering its effect, PhD Thesis, Chungnam National University.
  7. Kwon, K.-H. & Lee, H.-B. 2015, Recognition of Basic Motions for Figure Skating using AHRS, Journal of The Korea Society of Computer and Information, 20, 89-96. https://doi.org/10.9708/jksci.2015.20.3.089
  8. Liu, C., Zhang, S., Yu, S., Yuan, X., & Liu, S. 2014, Design and Analysis of Gyro-Free Inertial Measurement Units with Different Configurations, Sensors and Actuators A: Physical, 214, 175-186. https://doi.org/10.1016/j.sna.2014.04.033
  9. Pachter, M., Welker, T. C., & Huffman Jr, R. E. 2013, Gyro-free INS Theory, Navigation: Journal of The Institute of Navigation, 60, 85-96. https://doi.org/10.1002/navi.32
  10. Park, C. 1996, Attitude determination from GPS carrier phase measurements, PhD Thesis, Seoul National University.
  11. Roh, M.-S., Song, J.-B., Song, W.-J., & Kang B.-S. 2011, Ground Test and Performance Evaluation of Miniaturized AHRS for Small-Scale UAV, Journal of Advanced Navigation Technology, 15, 181-188. https://doi.org/10.12673/jant.2011.15.2.181
  12. Sorrentino, F., Lien, Y., Rosi, G., Cacciapuoti, L., Prevedelli, M., et al. 2010, Sensitive Gravity-Gradiometry with Atom Interferometry: Progress Towards an Improved Determination of the Gravitational Constant, New Journal of Physics, 12, 095009. https://doi.org/10.1088/1367-2630/12/9/095009
  13. Titterton, D. H. & Weston, J. L. 2004, Strapdown Inertial Navigation Technology, 2nd Ed. (Stevenage: The Institute of Electrical Engineers)
  14. Wang, Y., Li, N., Chen, X., & Liu, M. 2014, Design and implementation of an AHRS based on MEMS sensors and complementary filtering, Advances in Mechanical Engineering, 6, 214726. https://doi.org/10.1155/2014/214726
  15. Yang, P., Chen, Y., Chen, Y., & Dang, F. 2021, Gyro-Free Inertial Measurement Unit with Unfettered Accelerometer Array Distribution and for the Object with Position Change in Center of Gravity, IEEE Sensors Journal, 21, 9423-9435. https://doi.org/10.1109/JSEN.2021.3054381
  16. Yu, Z. & Crassidis, J. L. 2016, Accelerometer Bias Calibration Using Attitude and Angular Velocity Information, Journal of Guidance, Control, and Dynamics, 39, 1-31. https://doi.org/10.2514/1.G001437