이우의 개발일지
상보 필터와 칼만 필터 원리 및 응용 (feat. 자이로센서 / MPU6050) 본문
MPU 6050은 가속도 센서와 자이로 센서를 포함하고 있다.
가속도 센서는 어느정도 정확한 각가속도를 얻을 수 있는데, 이 칩이 움직이면 중력가속도에 의해 저항 값이 변경되어 전압값 또한 바뀐다. 이것을 통해 각가속도를 알 수 있다. 순간적인 변화를 잘 잡지만, 잡음이 심하다는 단점이 있다.
반대로, 자이로 센서는 잡음이 가속도 센서보다 덜하지만, 바이어스 누적현상이 일어나기 때문에 시간이 지나면 제대로 된 각도를 얻을 수 없다는 단점이 있다.
따라서, 이 두가지 센서를 모두 사용하여 서로의 단점을 보완해줘야하고, 이를 위해 상보필터 또는 칼만 필터를 사용해야 한다.
MPU6050의 자세한 기본 원리 및 응용 방법은 아래 글 자세히 참고하면 좋을 것 같다.
자이로 센서 원리 (MPU6050) /가속도계 / 자이로스코프 / LSB
자이로 센서 기본 원리 (feat. MPU6050)MEMS 기반 센서 기술- 가속도계 : 가속도계는 내부에 미세한 질량을 포함하고 있다. 이 질량이 가속도(중력 및 외부 힘)에 반응해 미세한 변위를 일으킨다. 이 변
everything.pipelineleewoo.com
Raspberry Pi 5로 MPU6050 자이로 센서 제어 (가속도계 + 자이로 스코프 )
Raspberry Pi로 MPU6050 (가속도계 + 자이로 스코프) 제어하기 MPU 6050 자이로 센서에 대해자이로센서 기본 원리를 알고 싶은 분은 아래 글을 참고! 자이로 센서 원리 (MPU6050) /가속도계 / 자이로스코프
everything.pipelineleewoo.com
상보 필터(Complementary Filter)란 ?
고주파 영역에서 좋은 응답을 가지는 자이로 센서와 저주파 영역에서 좋은 응답을 가지는 가속도 센서를 융합하여 각도 추정에 더 좋은 성능을 가지도록 하는 필터이다.
<상보필터 공식>
angle = 0.98 * (pre_angle + gyr Data * dt) + 0.02 * (accData)
(※ gyr Data : 자이로 데이터, acc Data : 가속도 데이터)
장점 :
- 간단하고 계산 빠름
- 구현이 쉬움
단점 :
- 오차 모델이나 센서 노이즈를 명시적으로 반영 못함
- 오차가 누적으로 쌓임.
칼만 필터 (Kalman Filter)란?
확률 기반 필터로 이전 상태와 현재 측정을 확률적으로 조합해서 더 정확한 값을 추정하고, 센서의 오차까지 모델링해서 추정치의 신뢰도를 높인다.
이전 상태 예측값 + 새로운 측정값 -> 최적 추정값
(오차 공분산(P), 측정 노이즈(R), 프로세스 노이즈(Q) 등을 활용함)
장점 :
- 정확하고 안정적, 특히 장시간 측정에 오차 누적이 거의 없음
- 노이즈 모델링 가능, 시스템 모델 정확히 반영하면 매우 우수
단점:
- 수학적 개념이 복잡하고 구현이 어려움 (행렬 연산 등)
- 계산량 많음. MCU나 실시간 시스템에선 최적화 필요
상보필터와 칼만필터 비교 요약표
'Embeded' 카테고리의 다른 글
자이로 센서 원리 (MPU6050) /가속도계 / 자이로스코프 / LSB (0) | 2025.03.31 |
---|---|
인공지능 스피커 SK 누구 (Nugu) 소개, 전체 스펙 및 분해 (1) | 2025.02.13 |
Raspberry Pi 5로 MPU6050 자이로 센서 제어 (가속도계 + 자이로 스코프 ) (0) | 2025.02.04 |
Dynamixel 모터 제어 일기.. XM430-W210 (0) | 2024.11.11 |
라즈베리파이 yolo v2 모델 이용 및 라즈베리파이 to STM32 보드 UART 통신 (9) | 2024.10.08 |