기록 재생과 실패 재현
동일한 기록과 설정으로 실패를 재현하고 조건별 도달률과 충돌을 비교합니다.
진도 0%
레슨
- 기록의 시간·프레임·버전
실험 manifest와 JSONL 로그에서 필수 메타데이터 누락을 판정합니다.
- 가상 시계로 기록 재생
기록 시각 순서로 센서와 명령을 재생하는 실행기를 구현합니다.
- 같은 조건의 결과 비교
조건별 도달률·충돌·정지 사유·RMSE를 집계합니다.
- 결함 주입과 회귀 테스트
센서 누락·지연·막힌 통로 실패를 재생하고 개선 전후 회귀를 실행합니다.
기록 재생과 실패 재현 미션
m08-sensor-time 미션 solution 전체를 포함한 starter에서 success 평가 TODO를 완성합니다. EncoderHal·SensorNavigation을 가상 시계 재생기에 연결하고 legacy 결함과 safe 정책을 동일 기록으로 비교합니다.
요구사항
- 설정·지도·입력 로그 SHA-256, 수동 코드 버전 식별자, seed, dt, 프레임·단위를 manifest에 기록합니다.
- wall clock 대신 가상 시계로 모든 상태를 갱신하고 파일로 남긴 입력을 재생합니다.
- 무잡음·잡음·지연·센서 누락·막힌 통로를 같은 목표와 seed 0~4로 비교합니다.
완료 기준
- 같은 입력과 설정의 두 재생에서 상태·결과 로그 SHA-256이 같습니다.
- 25회 실험의 도달률·충돌 수·RMSE·실패 사유를 조건별로 제출합니다.
- 센서 누락과 막힌 통로를 성공으로 집계하지 않으며 실패 재현 fixture가 회귀 테스트에 포함됩니다.
- bash check.sh가 check-m08.sh를 직접 호출하며, 누락·0.25초 지연 fixture의 legacy 성공과 safe 정지/PWM 0을 비교합니다.
- 참값 목표 거리 0.025m 이내·실제 충돌 0·액션 SUCCEEDED를 함께 도달로 판정합니다. 주행 표본이 없는 RMSE는 null이며 조건 집계는 표본 수 가중 제곱 평균의 제곱근입니다.
bash check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 입력·단위·실패 조건과 변경 이유를 설명합니다.
- 이전 모듈의 회귀 테스트와 이번 실험 근거를 함께 제출합니다.