이제 각 모델들을 테스트 하며 선발전에 참여할 모델들을 생성
모델명 | 주요 전략 / 특징 | 평균 속도 | 완주율 | Best Lap | 장점 | 한계점 |
---|---|---|---|---|---|---|
pray14 | 중심선 유지 + 속도 보완 | 1.8~2.2 | 95% | 8.2초 | 안정적 완주 | 커브에서 일부 off-track |
pray14-safe-v1 | 조향 최소화, 완주율 최우선 | 1.2~1.8 | 100% | 8.7초 | 안정성 최고, off-track 0% | 속도가 낮아 랩타임 길어짐 |
pray14-smartcurve | 커브 구간 감속 + 직선 가속 | 1.0~2.5 | 90% | 8.1초 | 커브 안정성 강화 | 일부 커브에서 여전히 off-track |
pray14-smartcurve-v2 | smartcurve 개선 버전 | 1.0~2.5 | 90% 내외 | 8.0~8.1초 | 커브 인식 정확도 소폭 향상 | 고속 직선 안정성 낮음 |
pray16 | 중심선 + 속도 + 조향 균형 | 1.5~2.0 | 95% | 7.9초 | 속도·조향 밸런스 양호 | 일부 구간에서 불안정 |
pray18 | 직선 가속 극대화 + 커브 감속 | 2.0~2.5 | 90% | 7.6초 | 랩타임 단축 우수 | 완주율 하락, 오프트랙 증가 |
pray25 | 기존 전략 고속화 버전 | 2.0+ | - | - | 목표: 속도 상승 | 결과 미기록 |
pray26 | 커브 안정성 보완형 | - | - | 7.8초 | 속도/완주 균형 예상 | 커브에서 일부 이탈 보고 |
pray28 | 완주율 90%+ 목표 세팅 | - | 90%+ | 7초대 목표 | 안정성 유지하며 랩타임 단축 | 결과 미확인 |
pray14-safe-v1 (재학습) | safe-v1 재훈련, 안정성 유지 | - | 100% | 8.7초 | 안정성 재확인 | 속도 개선 없음 |
pray14 모델 세팅
요소 | 설계 방식 | 효과 |
---|---|---|
all_wheels_on_track |
이탈 시 즉시 1e-3 | 안정성 확보 |
distance_from_center |
중심 가까울수록 3.0까지 보상 | 최적 주행선 유도 |
speed |
2.4 이상 시 보상 1.8배 | 고속 주행 유도 (핵심!) |
steering |
20도 이하일 때만 보상 강화 | 부드러운 조향 유도 |
보상 함수 코드
def reward_function(params):
all_wheels_on_track = params['all_wheels_on_track']
distance_from_center = params['distance_from_center']
track_width = params['track_width']
speed = params['speed']
steering = abs(params['steering_angle'])
if not all_wheels_on_track:
return 1e-3
# 중심선 거리 보상
marker_1 = 0.1 * track_width
marker_2 = 0.25 * track_width
marker_3 = 0.4 * track_width
if distance_from_center <= marker_1:
reward = 3.0
elif distance_from_center <= marker_2:
reward = 2.0
elif distance_from_center <= marker_3:
reward = 1.0
else:
return 1e-3
# 속도 보상 (느리게 시작 가능, 고속 유도)
if speed >= 2.4:
reward *= 1.8
elif speed >= 2.0:
reward *= 1.3
elif speed >= 1.5:
reward *= 1.1
else:
reward *= 0.8
# 조향 보상 (부드러운 주행 유도)
if steering > 25:
reward *= 0.8
elif steering > 20:
reward *= 0.9
else:
reward *= 1.1
return float(reward)
세팅
Speed range: [1.0 ~ 2.5] m/s
Learning rate: 0.0005
Entropy: 0.01
Policy update gap: 15
→ 전체적으로 안정적이고 탐험 중심의 설정 (성공적인 설정)
결과
pray14는 안전성이 높고 9초대 초반으로 들어와 이 코드로 보상값만 바꾸고 여러번 재학습 실행