1. 개요

CARLA(Car Learning to Act)는 Unreal Engine 기반의 오픈소스 자율주행 시뮬레이터로, 자율주행 연구의 사실상 표준(de facto standard)입니다. 숭산텍 프로젝트는 CARLA 0.9.15 버전을 사용합니다.

2. 핵심 특징

  • 사진처럼 사실적인 도시 환경 (Town01~Town10)
  • 풍부한 센서 모델 (RGB, Depth, LiDAR, Radar, Semantic Segmentation 등)
  • 동적 날씨·시간대 변경
  • Python API를 통한 완전한 제어
  • ROS Bridge 지원

3. 숭산텍 프로젝트의 CARLA 활용

3.1 사용 맵

맵 용도
Town03 학습 데이터 수집 (다양한 교차로)
Town05 평가 (미학습 환경, Generalization 측정)

3.2 센서 구성

센서 해상도 FOV 주기 용도
Front RGB 800×600 90° 10Hz BC/RL 입력
AVM Front/Rear/L/R 400×300 120° 10Hz Phase 3+ BEV 연구
GNSS - - 10Hz 위치 메타데이터
IMU - - 10Hz 자세 메타데이터

3.3 동기 모드 (Synchronous Mode)

데이터 수집 시 시뮬레이터와 클라이언트의 동기화를 위해 Synchronous Mode를 활용합니다.

import carla

client = carla.Client('localhost', 2000)
world = client.get_world()

settings = world.get_settings()
settings.synchronous_mode = True
settings.fixed_delta_seconds = 0.1  # 10Hz
world.apply_settings(settings)

# 매 틱마다
world.tick()

4. 자주 발생하는 문제

문제 해결책
GPU VRAM 부족 -quality-level=Low 옵션 사용
클라이언트 타임아웃 client.set_timeout(30.0) 설정
WSL2에서 GUI 표시 안됨 WSLg 또는 X410 사용, -RenderOffScreen 옵션
충돌 시 시뮬레이터 크래시 Producer-Consumer 패턴으로 데이터 보존

5. 참고 자료