← 프로젝트 목록PORTFOLIO / PROJECT 03

Project 03 · Engineering · Competition Preliminary

Kookmin Preliminary – Imitation Learning

완료2026.06

Project Goal

이전 Hybrid 프로젝트에서 steer-only Imitation Learning의 가능성을 확인한 뒤, 사람이 직접 주행해 수집한 데이터를 이용해 직선·곡선 주행뿐 아니라 장애물·보행자 회피까지 학습 모델이 수행하도록 확장하는 것을 목표로 했다.

01

Approach

사람이 직접 주행해 수집한 데이터를 학습에 사용

  • 자이트론 자체 제작 시뮬레이션에서 camera image와 사람이 keyboard로 조작한 steering 값을 함께 수집했다.
  • 수집 구조와 dataset preprocessing을 구성한 뒤, 사람이 직접 주행해 수집한 데이터를 사용해 Behavioral Cloning 모델을 학습하고 real-time inference로 연결했다.
  • 직선·곡선 주행과 장애물·보행자 회피는 학습 모델이 담당하도록 했다.
  • 신호등과 어린이보호구역처럼 명확한 정지나 속도 조절이 필요한 미션에서만 Rule-based logic이 개입하도록 구성했다.
02

Implementation

학습 기반 주행과 Rule-based 개입의 역할 분리

  • Learning-based driving은 직선·곡선 주행과 장애물·보행자 회피를 담당했다.
  • Rule-based intervention은 신호등과 어린이보호구역 등 명시적인 정지·속도 조절 미션을 담당했다.
  • learned steering과 mission logic, 최종 launch/driving stack을 통합해 폐루프 실차 주행으로 검증했다.
03

Main Problem

실행 환경에 따라 달라진 제어 주기

  • 같은 모델과 코드로 실행해도 시뮬레이션을 구동하는 컴퓨터에 따라 실제 steering update frequency가 약 9~10 Hz 범위에서 달라졌다.
  • 저속에서는 영향이 작았지만, 속도가 높아질수록 작은 제어 주기 차이가 누적돼 곡선 주행과 장애물 회피 궤적에 큰 차이를 만들었다.
04

Data Iteration

실패 구간을 데이터로 보완하며 재학습

  • 주행이 실패하는 구간을 반복해서 확인하고, 해당 상황의 학습 데이터를 다시 수집하거나 보완해 재학습했다.
  • 여러 차례의 데이터 수집과 재학습을 거치며 모델 구조뿐 아니라 학습 데이터의 품질과 상황 분포가 실제 주행 성능에 큰 영향을 준다는 점을 경험했다. 고속 주행용 추가 데이터를 보완하는 과정에서는 팀의 지원을 받아 상황 범위를 확장했다.
05

Insight

폐루프 주행은 모델·제어 주기·데이터가 함께 결정

  • 모방학습의 폐루프 주행 성능은 모델만으로 결정되지 않았다. 같은 모델이라도 실행 환경과 제어 주기에 따라 주행 결과가 달라졌으며, 다양한 상황을 포함한 일관된 학습 데이터를 구성하는 것이 중요했다.
06

Team Result

국민대 예선 최종 2위

  • 팀은 3-lap을 2분 10.70초에 완료했다.
  • 팀 기록은 신호위반, 차선이탈, 충돌과 어린이보호구역 위반 없이 penalty 0이었다.
  • 45개 참가팀 중 마지막 기록 반영 전까지 팀 순위 1위였고 최종 2위로 마쳤다.