센서 퓨전 설명: 고정밀 피트니스 반복 카운터 구축 방법

발행: (2026년 1월 17일 오전 10:40 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

단일 센서 추적의 문제점

피트니스 앱은 특히 복잡한 동작에서 반복 횟수를 잘못 계산하는 경우가 많습니다. 스마트폰에 내장된 가속도계는 잡음이 많고, 자이로스코프는 시간이 지남에 따라 드리프트가 발생해 “가짜” 반복이 나오거나 세트를 놓칠 수 있습니다.

왜 하나의 센서만으로는 부족한가

가속도계

  • 중력 포함한 실제 가속도 측정
  • 장시간 동안 안정적
  • 진동 및 급격한 흔들림에 매우 민감

자이로스코프

  • 회전 속도 측정
  • 단기 정밀도에 뛰어남
  • 드리프트가 발생해 시간이 지남에 따라 방향 오류가 생김

보완 필터를 이용한 센서 융합

가속도계의 장기 안정성과 자이로스코프의 단기 정확성을 결합하면 신뢰할 수 있는 자세 신호를 얻을 수 있습니다.

수식

FusedAngle = α * (GyroAngle) + (1 - α) * (AccelAngle)
  • 일반적인 α (알파) = 0.98 → 98 %의 시간 동안 자이로스코프를 신뢰하고, 가속도계로 드리프트를 보정합니다.

센서와 융합 비교

FeatureAccelerometerGyroscopeFused Result
Short‑term AccuracyLow (Noisy)HighHigh
Long‑term StabilityHighLow (Drift)High
Vibration ResistanceLowHighBalanced

상태 머신을 이용한 반복 횟수 카운팅

각 신호 피크를 모두 세는 대신, 유한 상태 머신이 운동 단계(예: 이두근 컬)를 추적합니다:

StateDescription
IDLE사용자가 휴식 중인 상태
GOING_UP각도가 진입 임계값(예: 30°)을 넘음
GOING_DOWN사용자가 최고점에 도달하고 복귀 동작을 시작
REPETITION복귀가 완료 → 카운트를 증가시키고 IDLE 상태로 리셋

이 방법은 진동과 중간 멈춤을 필터링해 잘못된 카운트를 방지합니다.

다른 운동에 프레임워크 적용하기

  • 케틀벨 스윙 – 몸통 피치 각도 추적
  • 스쿼트 – 수직 이동 및 허벅지 자세 사용

동일한 융합 및 상태 머신 로직을 다양한 동작에 맞게 조정할 수 있습니다.

결론

실시간 정확한 건강 피드백은 신뢰할 수 있는 센서 데이터에 달려 있습니다. 센서 융합을 마스터하면 개발자는 사용자가 일일 진행 상황을 믿고 사용할 수 있는 피트니스 도구를 만들 수 있습니다.

전체 Python 구현 및 단계별 가이드는 WellAlly의 종합적인 반복 카운터 튜토리얼을 참고하세요.

Back to Blog

관련 글

더 보기 »