Korean Institute of Information Technology
[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 18, No. 2, pp.111-116
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 28 Feb 2020
Received 20 Jan 2020 Revised 13 Feb 2020 Accepted 17 Feb 2020
DOI: https://doi.org/10.14801/jkiit.2020.18.2.111

DSP를 이용한 IMU 센서 신호 처리 방법

박종진* ; 최인호**
*㈜메리테크 기술연구소 센터장(교신저자)
**김포대학교 정보통신과 교수
The Methods of IMU Sensor Signal Processing Using a DSP
Jong-Jin Park* ; In-Ho Choi**

Correspondence to: Jong-Jin Park Meritech Institute of Technology, 28, Dongtan Cheomdansaneop 1-ro, Hwaseong-si, Gyeonggi-do Tel.: +82-31-890-1336, Email: vlsistar@meritech.co.kr

초록

자율비행이 가능한 무인항공기는 운행 중 다양한 돌발환경에 직면하게 되며, 돌발환경에 대응하기 위하여 신뢰성 높은 센서 및 GNSS(Global Navigation Satellite System)가 필요하다. 돌발환경을 인지하기 위한 센서는 자이로 센서와 가속 센서가 있으며, 무인항공기의 위치를 인식하기 위해서 지자계, 고도계를 이용한다. 또한 무인항공기의 자율비행은 위치 인식이 중요하며 위치 인식을 위하여 GNSS를 이용한다. 자율비행용 복합항법센서의 중요 기술은 3축 MEMS(Micro Electro-Mechanical Systems) 자이로 센서와 3축 MEMS 가속도계 센서, 3축 지자계, 기압계, GNSS, GPS 안테나 설계 기술과 각 센서를 처리 및 가공하는 알고리즘과 GNSS 항법 시스템, 통합항법 시스템의 소프트웨어 기술이 있다. 본 논문은 무인 항공기의 돌발환경에서도 신뢰성 높은 관성측정기 및 GNSS, 지자계 및 고도계를 통합한 신호처리방법에 관한 연구이다. 신뢰성을 높일 수 있는 신호처리방법은 동일한 센서를 2개 이상 사용하고, 2개 이상의 입력 신호는 다중 코어에서 처리하며, 다중 입력 신호에서 신뢰성 높은 신호를 판단하여 출력한다.

Abstract

Pilotless aircraft with autonomous flight may face various unexpected flight situations; thus, it is necessary to use a highly sophisticated sensor and GNSS(Global Navigation Statellite System) to handle abrupt circumstances. To recognize unexpected flight situations, a sensor is equipped with gyro sensor and acceleration sensor as well as geomagnetic field and altimeter in order to ensure the exact location of autonomous aircraft. Additionally, as location awareness is essential for autonomous flight, GNSS is used for tracking autonomous flight. There are important composite navigation sensor for autonomous flight such as 3-axis MEMS, gyro sensor, 3-axis MEMS acceleration sensor, 3-axis geomagnetic field, GNSS, GPS antenna design technology, algorithm along with processing each sensor, GNSS navigation system, and integrated navigation system software. This study is to focus on testing inertial Measurement unit(IMU), which is known for a highly reputable system for unexpected flight situation. In addition to that, this study used GNSS, geomagnetic field, and composite input signal methods of altimeter. To increase input signal method, 2 identical sensors were used, and more than 2 signals were tested as multicore. Overall, multiple input signals were considered as highly reliable signals in this study.

Keywords:

inertial sensor, DSP, navigation system, IMU, gyro sensor, acceleration sensor

Ⅰ. 서 론

전자 부품의 특성상 사용시간이 지나게 됨에 따라 온도와 습도, 분진 등의 영향으로 결함이 일어 날 수밖에 없다. 이러한 이유로, 결함이 발생하여도 시스템의 정상 동작을 유지 할 수 있는 결함 허용 방식이 더욱 효과적이다. 결함 허용 방법은 기본적인 시스템에 여유의 하드웨어를 두어 결함이 발생 하였을 경우. 오류가 전파되어 사고가 발생하는 상황을 차단하여 정상적인 동작을 할 수 있도록 하는 방법이다. 이러한 방법은 구체적으로 하드웨어 여분, 소프트웨어 여분, 시간 여분(Time redundancy), 정보 여분(Information redundancy)으로 나눌 수 있다[1][2].

하드웨어 여분에 의한 신뢰성 높은 수 있는 방안으로 다중 프로세서를 이용하는 방법을 적용하고 있다. Lock Step Mode는 동일한 소프트웨어를 다중 코어에서 동시에 수행하도록 하여 각각의 결과 값을 서로 비교함으로써, 오류를 검출하는 방법이다. LSM 방법을 사용하였을 경우 연산 코어나 메모리 등의 하드웨어적인 오류를 검출 할 수 있지만. 소프트웨어 오류는 검출 할 수 없다는 단점이 있다[3]. 하나의 소프트웨어를 각각의 코어에서 동시 실행하여 각 코어의 결과 값이 서로 같으면 다음 단계로 넘어가는 방식을 사용한다. 하지만, 코어를 2개를 사용하였을 경우 서로의 값이 틀린 것을 검출만 할 수 있기 때문에 안정성을 좀 더 확보하기 위하여 2 out of 3와 같이 다중의 코어나 내장형 제어기를 이용한 방법을 활용하는 추세이다[4].

DPM(Decoupled Parallel Mode)는 각 코어의 기능은 같지만 소프트웨어 코드가 틀린 각각의 코드를 각 코어에 할당하여 동시에 실행시킨 결과를 비교하는 방식을 말한다. 이와 같은 방법은 하드웨어의 결함뿐만 아니라 소프트웨어의 오류도 검출이 가능하다. 같은 기능이지만 코드가 서로 상이한 SW1과 SW2를 각 Core 1과 2에 할당하여 서로의 결과 값을 비교하여 오류를 검출 하는 방식이다. 이러한 모드도 LSM 모드와 마찬가지로 코어 2개만 사용하였을 경우 오류 검출을 한 뒤. 핫-스탠바이 상태의 메인으로 권한을 넘기는 방식을 사용하기 때문에 안정성 향상을 위해서는 2 Out of 3 이상의 다중 코어를 사용하여 서로 비교 하는 방식을 사용하여야 한다. 오류 발견하기 어려운 단점이 있고, LSM과 DPM 일 경우 오류 검출 능력과 소프트웨어의 복잡도를 비교 할 수 있다[5][6].


Ⅱ. 복합 항법 시스템

3축 자이로센서와 3축 가속도계 센서를 포함한 복합 항법 시스템은 그림 1과 같이 IMU 모듈과 신호 처리를 위한 DSP, 제어 프로세서로 구성된다. DSP에서 사용하는 보정 알고리즘은 물리적 센서에서 발생하여 다양한 오류를 보정하며, DSP에서 처리된다. 제어 프로세서는 보정된 센서 데이터를 이용하여 항법 장치를 제어한다[7].

Fig. 1.

Composite navigation system

자율 비행용 복합항법시스템은 그림 1, 그림 2와 같이 관성 측정기, GNSS 수신기 및 항법 통합 보드로 구성된다. 관성측정기는 3축 자이로 센서와 3축 가속 센서가 장착되어 있으며, I2C 프로토콜에 의하여 통합항법보드로 전송된다. GNSS 수신 보드는 GPS 데이터를 수신하며, I2C 프로토콜에 의하여 통합항법보드로 전송된다. 관성 측정기와 GNSS 수신기를 통하여 입력된 다중 센서 데이터는 통합항법보드의 DSP을 통하여 신호처리가 구현된다.

Fig. 2.

System diagram of composite navigation

통합항법보드의 DSP는 수신된 센서 데이터를 처리하여 항법정보 표시 장치에 전송한다. 그림 3의 통합항법보드는 TI사의 TMS320 DSP가 장착되어 있으며, 데이터의 임시 저장장치로 SRAM이 있다[8]. 또한 항법표시장치에 데이터 전송을 위하여 RS232 장치가 있으며, 각 Sensor의 데이터를 전송 받기 위한 I2C 및 SPI Port가 있다.

Fig. 3.

Configuration of composite navigation main board

Fig. 4.

Configuration of composite navigation sensor processing board

DSP에 적용된 알고리즘에 의하여 생성된 처리 데이터는 MATLAB에 의하여 시뮬레이션 처리 데이터와 비교함으로써 DSP의 적용의 타당성을 검토한다.

복합항법 시스템 개발은 그림 3과 같이 4 부분으로 나누어 개발 진행한다. 모듈 개발은 개발된 센서의 다양한 환경에서 데이터를 수집하여 저장한다. 센서 보정 알고리즘 개발은 수집된 데이터를 이용하여 개발된 알고리즘을 MATLAB을 이용하여 시뮬레이션을 수행한다. 시뮬레이션을 통하여 구해진 최적의 알고리즘은 DSP에 적용한다.


Ⅲ. 제안된 복합 항법 시스템

제안된 복합 항법시스템은 그림 5와 같이 3축 자이로센서 및 3축 가속센서가 포함된 IMU 모듈을 2개 이상 사용한다. 또한 Multi-Core가 적용된 DSP는 각 센서 모듈에서 입력되는 센서 데이터를 각각의 독립된 Core를 사용함으로써 실시간 처리가 가능하고, 각 모듈의 데이터 간의 영향이 없도록 한다.

Fig. 5.

Test coverage of composite navigation system

2개 이상의 센서 모듈에서 입력되어 각 CORE에서 독립적으로 처리된 처리 데이터는 오류 판단 알고리즘이 적용된 CORE에 의하여 처리 데이터를 선택한다.

물론 각 센서 처리 CORE는 동일한 보정 알고리즘이 적용된다. 오류 판단 알고리즘은 센서 모듈에서 추출한 다양한 환경의 오류 데이터를 분석하여 알고리즘에 적용 할 예정이며, 센서 오류 데이터는 온도 및 기압 변화, 충격 등 다양한 환경에서 발생 할 수 있는 오동작이 이루어질 때의 데이터이다.

복합 항법 시스템의 데이터 처리 과정은 그림 6과 같으며 제안된 복합항법시스템의 DSP는 그림 7과 같이 처리된다. 센서 입력은 3축 자이로 센서 및 3축 가속센서가 포함된 2개 이상의 IMU 모듈에서 입력된 데이터이다. IMU 모듈에서 입력된 센서 데이터는 보정 알고리즘을 처리하기 위한 CORE에 입력된다. 또한 각 센서 모듈의 오동작 및 오류를 판단하기 위하여 그림 8과 같이 판단 CORE에 각 센서 모듈의 데이터가 입력된다. 판단 CORE는 각 모듈에서 입력된 센서 데이터를 분석하여 오류를 판단하여 각 센서를 처리하는 CORE의 출력을 결정한다.

Fig. 6.

Data processing of composite navigation system

Fig. 7.

Proposed composite navigation system diagram

Fig. 8.

DSP processing method of composite navigation system

또한 판단 CORE는 각 센서 보정 알고리즘을 처리한 CORE의 처리 데이터를 분석하여, CORE의 연산 오류를 판단하여 처리 데이터의 출력을 결정한다. 류를 판단하여 처리 데이터의 출력을 결정한다.


Ⅳ. 실험 및 고찰

제안된 복합항법시스템은 2개 센서 모듈에서 입력된 센서 데이터의 오동작 및 오류를 판단하여 처리 데이터를 출력하는 방법이다. 바이어스 반복도 시험은 센서 전원을 인가하고 20분간 측정치를 저장한 다음 20분간 전체 전원을 차단하는 과정을 총 33회 반복하였다.

표 1에 자이로 센서 R2R 바이어스 측정결과를 나타내었다. 측정에 소요된 시간은 1,320분으로 약 22시간에 해당한다. 이 때 각 측정 데이터의 평균값인 바이어스가 조금씩 변하는데 이 데이터의 편차가 바이어스 반복도를 결정한다. 상온에서 자이로 센서의 바이어스 및 바이어스 반복도 평가 결과는 표 1그림 9와 같다.

Measurement result of gyro sensor R2R bias

Fig. 9.

Measure result of gyro SPL#2 bias repeatability

표 1은 2개의 샘플의 바이어스 반복도를 측정한 결과이며, 샘플 1의 x축, y축 그리고 z축의 측정 결과는 각각 1.15, 1.41. 0.88deg/h이며, 샘플 2의 x축, y축 그리고 z축의 바이어스 반복도 측정 결과는 각각 1.64, 2.07. 0.98deg/h이다.

또한 그림 9표 1의 샘플 2의 x, y, z 축의 바이어스 측정 결과의 분포도를 보여준다.


Ⅴ. 결론 및 향후 과제

논문에서는 신뢰성 및 안전성 확보가 필요한 자율 비행용 복합항법시스템에 관한 연구이다. 본 연구에서 사용한 DSP의 보정 알고리즘은 신뢰성 향상 방안을 고려하여 하드웨어 개발을 완료 하였으며, 시험을 진행하였다. 현재 자이로 센서의 세계 최고 수준의 기술 보유 기업은 미국의 Honeywell과 Bosch사이며, 자이로 센서 바이어스 및 바이어스 반복도의 최고 수준은 20deg/h이다. 본 논문은 상온에서 자이로 센서의 바이어스 및 바이어스 반복도 평가 결과는 목표치인 20deg/h에는 다소 부족한 2.1deg/h으로 확인되었다.

자이로 센서의 바이어스 및 바이어스 반복도의 개선은 MEMS Wafer 국내 기술력으로 인하여 다소 어려움이 있을 것으로 판단된다. 향후 과제는 기존 MEMS Wafer를 활용하고, DSP를 이용한 자이로 데이터의 신호 처리를 개선하여 자이로 센서의 바이어스 및 바이어스 반복성을 2.0deg/h 이하로 줄이고자 한다.

References

  • Puligandla Viswanadham and Pratap Singh, "Failure Modes and Mechanisms in Electronic Packages", Chapman & Hall International Thomson Publishing, pp. 262-269, 1998. [https://doi.org/10.1007/978-1-4615-6029-6]
  • S. Arimoto, "Linear controllable systems", Nature, Vol. 135, pp. 18-27, Jul. 1990.
  • E. S. Naser, H. Haiying, and N. Xiaoji, "Analysis and Modeling of Inertial Sensors Using Allan Variance", IEEE Transactions of Instrument and Measurement, Vol. 57, No. 1, pp. 140-49, Jan. 2008. [https://doi.org/10.1109/TIM.2007.908635]
  • Barry w.Johnson, "Design and Analysis of Fault Tolerant Digital Systems", Addison-Wesley, 1989
  • Daniel P. Siewiorek and Robert S. Swarz, "Reliable Computer System", Digital Press, Second Edition, 1992.
  • Markus Baumeister, "Using Decoupled Parallel Mode for Safety Applications", Freescale, White Paper.
  • M. S. Grewal, L. R. Weill and A. P. Andrews, "Global Positioning System, Inertial Navigation, and Integration", New York : John Wiley & Sons, 2007. [https://doi.org/10.1002/0470099720]
  • www.ti.com, , "TMS320 Data Sheet.pdf" [accessed: Oct. 05, 2019]
저자소개
박 종 진 (Jong-Jin Park)

1989년 2월 : 경희대학교 전자공학과(공학사)

1991년 8월 : 경희대학교 전자공학과(공학석사)

2000년 2월 : 경희대학교 전자공학과(공학박사)

2000년 3월 ~ 2008년 8월 : ㈜앤스랩

2009년 9월 ~ 2011년 8월 : ㈜케이원정보통신

2012년 9월 ~ 현재 : ㈜메리테크 기술연구소 센터장

관심분야 : 신호처리, 유비쿼터스, IoT

최 인 호 (In-Ho Choi)

1990년 2월 : 경희대학교 전자공학과(공학사)

1992년 2월 : 경희대학교 전자공학과(공학석사)

2000년 2월 : 경희대학교 전자공학과(공학박사)

1996년 3월 ~ 현재 : 김포대학교 정보통신과 부교수

관심분야 : 신호처리, 유비쿼터스, IoT

Fig. 1.

Fig. 1.
Composite navigation system

Fig. 2.

Fig. 2.
System diagram of composite navigation

Fig. 3.

Fig. 3.
Configuration of composite navigation main board

Fig. 4.

Fig. 4.
Configuration of composite navigation sensor processing board

Fig. 5.

Fig. 5.
Test coverage of composite navigation system

Fig. 6.

Fig. 6.
Data processing of composite navigation system

Fig. 7.

Fig. 7.
Proposed composite navigation system diagram

Fig. 8.

Fig. 8.
DSP processing method of composite navigation system

Fig. 9.

Fig. 9.
Measure result of gyro SPL#2 bias repeatability

Table 1.

Measurement result of gyro sensor R2R bias

No SPL #1 SPL #2
X Gyro Y Gyro Z Gyro X Gyro Y Gyro Z Gyro
1 0.27607 -0.00515 0.10809 0.20534 0.30605 0.11542
2 0.27295 -0.00317 0.10896 0.20643 0.30635 0.11594
3 0.27353 -0.00559 0.10773 0.20550 0.30661 0.11739
4 0.27383 -0.00502 0.10725 0.20522 0.30509 0.11563
5 0.27318 -0.00482 0.10777 0.20614 0.30422 0.11623
6 0.27474 -0.00464 0.10651 0.20729 0.30397 0.11623
7 0.27275 -0.00183 0.10627 0.20865 0.30422 0.11559
8 0.27343 -0.00500 0.10758 0.20657 0.30742 0.11542
9 0.27359 -0.00101 0.10916 0.20596 0.30651 0.11492
10 0.27250 -0.00227 0.10865 0.20651 0.30950 0.11594
11 0.27178 -0.00349 0.10831 0.20553 0.30886 0.11464
12 0.27272 -0.00270 0.10829 0.20646 0.30923 0.11528
13 0.27420 -0.00421 0.10760 0.20662 0.30864 0.11520
14 0.27346 -0.00296 0.10730 0.20794 0.30708 0.11377
15 0.27356 -0.00339 0.10693 0.20912 0.30678 0.11368
16 0.27203 -0.00361 0.10647 0.20895 0.30709 0.11467
17 0.27194 -0.00287 0.10824 0.20826 0.30801 0.11385
18 0.27207 -0.00337 0.10747 0.20615 0.30852 0.11320
19 0.27201 -0.00233 0.10688 0.20736 0.30721 0.11481
20 0.27058 0.00029 0.10832 0.20775 0.30714 0.11493
21 0.27331 -0.00549 0.10700 0.20613 0.30683 0.11384
22 0.27231 -0.00487 0.10790 0.21050 0.30780 0.11527
23 0.27140 -0.00190 0.10745 0.20880 0.30506 0.11483
24 0.27154 -0.00365 0.10602 0.20978 0.30496 0.11550
25 0.27141 -0.00420 0.10555 0.20904 0.30411 0.11470
26 0.27199 -0.00302 0.10618 0.20984 0.30458 0.11254
27 0.27184 -0.00328 0.10670 0.21000 0.30373 0.11466
28 0.27319 -0.00267 0.10791 0.21106 0.30112 0.11562
29 0.27292 -0.00156 0.10771 0.20961 0.30195 0.11388
30 0.27385 -0.00376 0.10622 0.20862 0.30422 0.11521
31 0.27363 -0.00141 0.10684 0.20640 0.30518 0.11599
32 0.27404 -0.00184 0.10679 0.20724 0.30876 0.11437
33 0.27463 -0.00200 0.10711 0.20775 0.30709 0.11490
mean 0.27294 -0.00324 0.10737 0.20765 0.30618 0.11497
stdev 1.15 1.41 0.88 1.64 2.07 0.98