[Pilot Test Analysis System] 차량 거동 분석 엔진 및 임계치 최적화
• 2 min read
원시 차량 센서 데이터의 품질 저하 및 비연속성 문제를 해결하기 위해, 분석 워커의 보간 알고리즘을 물리 법칙에 기반한 모델로 교체했다. 이벤트 검출 알고리즘의 노이즈 민감도를 낮추기 위해 타임 윈도우 기반 필터링을 도입했으며, 사용하지 않는 부가적인 시각화 및 경로 처리 코드를 제거하여 엔진을 경량화했다.
[Rust / Kinematics] 물리 기반 연속 이산 칼만 평활화 모델
- 원시 센서 데이터를 단순 선형 보간으로 처리하여 데이터가 누락되거나 센서 값이 유지되는 구간에서 차량 거동이 왜곡되는 문제가 있었다.
- 선형 보간을 제거하고 물리적 상태 공간 방정식이 적용된 연속 이산 칼만 RTS 평활화 알고리즘을 도입했다.
- 센서 데이터의 중복 및 결측 상황에서도 물리적으로 연속적인 차량 주행 궤적과 정확한 반응 시점을 추출할 수 있게 되었다.
[Rust / Mathematics] 반응점 탐색 및 부분 선형 회귀 모델 튜닝
- 이벤트 발생 전후로 센서 노이즈가 섞이거나 타임스탬프가 일치하지 않으면 반응점 최적화 탐색이 실패하거나 분석 결과가 왜곡되었다.
- 반응점 탐색 범위를 경보 발생 이후로 엄격히 제한하고, 구조적 단절을 막기 위해 Closed-form 방식의 연속 부분 선형 회귀 로직을 적용했다. 또한 ZOH 유지 구간에 대한 방어 로직을 추가했다.
- 분석 궤적의 구조적 단절이 해결되었으며, 초기 노이즈로 인해 잘못된 반응점이 도출되는 문제를 차단했다.
[Java / Event Filter] 타임 윈도우 기반 이벤트 노이즈 필터링
- 특정 주기로 샘플링된 텔레메트리 데이터를 기반으로 이벤트를 검출할 때, 직전 틱과의 미분값을 사용하여 사소한 노이즈에도 과도하게 이벤트가 검출되는 문제가 있었다.
- 이벤트를 판정하는 미분값 계산 기준을 직전 틱이 아닌 1000ms 타임 윈도우 기반으로 변경했다.
- 샘플링 차이로 인해 발생하던 허위 이벤트 급증 현상을 억제하고 보다 신뢰성 높은 운전자 반응 검출이 가능해졌다.
[Rust / Worker] 미사용 분석 타겟 및 시각화 데드코드 제거
- 차량 거동 분석의 핵심 역할과 무관한 OSRM 맵 매칭 및 부가적인 차트 생성 코드가 워커 내부에 남아 있어 유지보수에 방해가 되었다.
- 불필요한 위상 수학 연산 및 Plotly 기반 이미지 생성 코드를 비활성화하고 연관된 Protobuf 직렬화 필드를 정리했다.
- 워커의 핵심 비즈니스 로직이 명확해지고, 데이터 I/O 및 직렬화 과정에서의 오버헤드가 제거되었다.