Post

Kalman filter를_이용한_센서융합으로_imu의_자세_결정

title: “Kalman filter를 이용한 센서 융합으로 IMU의 자세 결정” date: 2023-11-25 19:43:00 +09:00 categories: [Sensor] tags: [IMU, Kalman filter, MATLAB] math: true —

1. 초록 (Abstract)

자동차나 로봇과 같은 기계장치에는 여러 가지 센서들이 있다. 다양한 센서 정보를 바탕으로 자동차의 위치와 속도를 추정하거나 로봇의 자세를 추정한다. 이때 센서 데이터에 노이즈가 섞여서 보정이 필요하다. 칼만 필터에 대해 공부하고 행렬 연산 기반인 MATLAB으로 칼만 필터를 구현해서 직접 IMU 데이터를 보정해보기 위해 이 프로젝트를 하게 되었다. 아두이노와 6축 IMU 센서 MPU-6050로 센서 데이터를 얻었다. 이 과정에서 서보모터에 센서를 부착시켜 회전시켰다. PLA-DAQ 프로그램을 사용하여 시리얼 통신으로 받는 데이터를 엑셀에 기록하였다. 자이로 데이터와 가속도계 데이터 각각으로만 오일러 각을 계산하는 MATLAB 코드를 작성하고 결과를 분석했다. 그리고 상호 보완 관계인 자이로와 가속도계를 융합하여 칼만 필터로 각도를 추정하는 코드를 작성했다. 분석 결과, 자이로는 오차가 있는 각속도를 적분해서 시간이 지날수록 오차가 쌓이지만 짧은 시간에 대해서는 각의 변화 패턴을 잘 감지했다. 반면에 가속도계는 오차가 누적되진 않지만 오차 값 자체가 너무 컸다. 두 센서를 융합하여 칼만 필터로 보정한 결과는 완벽했다. 실제 센서가 회전한 각과 매우 근접하게 추정된 것을 확인할 수 있었다.


# 2. 서론 (Introduction)

2-1. 칼만 필터 (Kalman filter)

칼만 필터는 노이즈가 있는 데이터에서 상태변수를 추정하는 대표적인 상태 추정 알고리즘이다. 실제로 얻는 신호나 데이터에는 노이즈가 존재할 수 밖에 없기 때문에 공학 분야에서 널리 사용된다. 칼만 필터는 선형 시스템에서 최적화된 제어기법이라고 수학적으로 증명된 기법으로 매우 좋은 성능을 갖는다.

This post is licensed under CC BY 4.0 by the author.