Files
VesiscanClinicalAndroid/app/src/main/java/com/example/medilightv2android/managers
dw.jang 1fc1a20bb9 fix(align V2): LR_BALANCE 좌우 화살표 oscillation 차단 (deadband + 연속 악화)
증상: ch3 확인 통과 후 LR_BALANCE 단계에서 좌/우 화살표가 빠른
      간격으로 번갈아 나타남.

원인:
  AlignGuide4Stage.LR_BALANCE 의 hill-climbing 반전 조건이
  imbal > lateralImbal 만 검사 → 1 sample 라도 늘면 즉시 반전.
  - 노이즈/호흡 으로 imbal 가 ±1-2 fluctuate → 잘못된 반전
  - sliding window 평균 (10-frame) 잔여 효과: 방향 바꿔도 직전
    데이터 섞여 imbal 변화 못 따라옴 → 가짜 "악화" 판정
  - 사용자 반응 지연 동안 imbal 더 누적 → 또 반전 → ←→←→ 진동

수정 (A + C 조합):
  1) A. 반전 deadband (lrReverseDeadband = 3 samples ≈ 6 mm)
     imbal 가 직전보다 "deadband 초과" 증가해야 악화로 카운트.
     LAT_TOL(8) 의 약 1/3 — 정렬 완료 조건 위협하지 않으면서 노이즈
     흡수.
  2) C. 연속 N회 악화 요구 (lrReverseConsecutive = 2)
     deadband 초과 증가가 2 commit 연속이어야 방향 반전.
     단발 노이즈/sliding window 잔여 효과 흡수.

  상태 추가: lateralWorseStreak Int (reset 포함).
  로직:
    - 개선 또는 deadband 안 변동 → 같은 방향 유지, streak = 0
    - deadband 초과 증가 → streak++
    - streak >= 2 → 방향 반전, streak = 0
  lateralImbal 은 매 commit 갱신 (기존 동작 유지).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-22 15:36:19 +09:00
..