Devin.KR

기록 재생과 실패 재현

동일한 기록과 설정으로 실패를 재현하고 조건별 도달률과 충돌을 비교합니다.

진도 0%

레슨

  1. 기록의 시간·프레임·버전

    실험 manifest와 JSONL 로그에서 필수 메타데이터 누락을 판정합니다.

  2. 가상 시계로 기록 재생

    기록 시각 순서로 센서와 명령을 재생하는 실행기를 구현합니다.

  3. 같은 조건의 결과 비교

    조건별 도달률·충돌·정지 사유·RMSE를 집계합니다.

  4. 결함 주입과 회귀 테스트

    센서 누락·지연·막힌 통로 실패를 재생하고 개선 전후 회귀를 실행합니다.

기록 재생과 실패 재현 미션

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
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 입력·단위·실패 조건과 변경 이유를 설명합니다.
  • 이전 모듈의 회귀 테스트와 이번 실험 근거를 함께 제출합니다.