[NavSim] navsim/planning/script/run_pdm_score.py

ad_official·2025년 2월 22일
0

[AD] dataset

목록 보기
11/12

0. GPT 요약

  1. 환경 설정 및 객체 생성:
    • 설정 파일을 바탕으로 시뮬레이터(PDMSimulator), 점수 계산기(PDMScorer), 평가할 에이전트(AbstractAgent)를 생성하고 초기화
  2. 데이터 로딩:
    • 메트릭 캐시(MetricCache)와 장면 데이터(SceneLoader)를 이용해
      • 평가 대상이 될 시나리오(토큰) 목록을 결정
  3. 시나리오별 평가:
    • 각 시나리오에 대해, 에이전트가 센서 입력(필요한 경우 장면 정보 포함)을 바탕으로 미래 궤적을 예측
    • 예측된 궤적과 해당 시나리오의 메트릭 캐시 데이터를 사용하여 PDMS 점수를 계산
    • 오류가 발생하면 해당 시나리오는 실패로 기록
  4. 결과 집계 및 저장:
    • 모든 평가 결과를 DataFrame으로 모아 성공/실패 시나리오 수와 평균 점수를 계산
    • 최종 결과를 타임스탬프가 포함된 CSV 파일로 저장하고, 로그에 요약 정보를 출력합니다.

1. ego Agent는 한 번만 궤적을 생성

  • 코드를 보면, 각 시나리오(토큰)마다 에이전트는 한 번만 궤적을 생성
  • 구체적으로 설명하면:
  • 한 번의 궤적 생성:
    • 각 시나리오에 대해, 에이전트의 compute_trajectory() 메서드가 한 번 호출되어, 주어진 입력(예: 센서 데이터와 필요한 경우 장면 정보)을 바탕으로 미래 궤적을 예측
  • 비반응 시뮬레이션:
    • 생성된 단일 궤적은 PDMSimulator와 PDMScorer에 전달되어, 4초간 비반응 시뮬레이션(배경 액터들은 기록된 미래 궤적을 따르고, ego 차량은 LQR 컨트롤러에 따라 움직임)을 통해 평가
  • 즉, 에이전트는 매 시나리오에서 매 타임스텝마다 반복적으로 궤적을 갱신하지 않고, 한 번 예측한 궤적을 그대로 사용하여 평가를 진행
profile
ad_official

0개의 댓글