Carla 0.10.0 Windows build

2024년 12월 19일 carla팀은 0.10.0을 공개했습니다. Carla에서 소개한 0.10.0의 특징과 빌드 방법을 소개하려고 합니다. Carla 윈도우 빌드가이드에 Carla UE용 패키지 빌드는 아직 완전히 테스트되지 않았다고 합니다. 하지만, 윈도우 패키지 빌드 이전, API 빌드에서 버그가 있습니다. 아래 추가한 코드로 수정 후 진행하시기 바랍니다.

0.10.0 주요 특징

  • Unreal Engine 버전 4.26에서 버전 5.5로 마이그레이션
  • Inverted AI가 제공하는 데이터 기반의 교통 생성이 가능
  • 차량: 11대의 차량이 업데이트되어 버전 0.10.0에 포함되었습니다. * Lincoln MKZ * Nissan patrol * Dodge Charger * Dodge Charger Police * Firetruck * Ford Crown 택시 * Mini Cooper * CarlaCola 트럭 * Ford Ambulance * Mercedes Sprinter 밴 * Mitsubishi Fusorosa 버스 * 광산 토목 기계(Synkrotron에서 제공) 다른 모든 차량은 0.10.0의 청사진 라이브러리에서 제거되었습니다.
  • Python API 3.8, 3.9, 3.10, 3.11, 3.12 지원
  • cmake를 사용하기 위한 빌드 시스템 재작업
  • ROS2에 대한 네이티브 서버 지원(CARLA-ROS 브리지 없음)
  • Scenic 3.0 통합
  • Light Manager제거

하드웨어 요구사항

  • VRAM 16Gb (Town10의 경우 VRAM 12Gb 미만은 로드할 수 없음, 최소 16Gb RTX3000)
  • 디스크 공간 500Gb(CarlaUE5: 236Gb, UnrealEngine5 carla: 264 Gb); Carla 가이드에는 최소 130Gb으로 되어 있으나 이는 클라이언트만 빌드할 경우입니다. 맵을 열람하거나 편집하기 위해선 Carla Editor와 서버를 빌드해야하며 이는 약500Gb 이상의 여유 공간이 필요합니다.

0.9.15 > 0.10.0

  • Light Manager가 제거되면서 일광 설정으로 고정되었습니다.
  • Town 10을 제외한 타운은 업그레이되지 않았습니다.
  • 지도 레이어 API가 지원되지 않습니다.
  • 큰 지도는 지원하지 않습니다.
  • OpenDrive 가져오기 지원되지 않습니다.
  • 빌드 시스템은 Cmake를 사용하도록 재작업
  • 기타 차이점은 release 노트를 참고하세요.

빌드 하기

1. 준비작업

UE4.26 가이드에는 5.5 설치는 5.5를 열람하라고 되어있습니다. 하지만, UE5에는 준비과정이 생략되어 있습니다. UE4 Windows Guide에 Minor installationsCMake의 경우 3.15 버전을 포함해 설치하시기 바랍니다.

Python은 3.8~3.12를 지원합니다. 저는 3.11을 사용했습니다.

빌드 과정에서 Visual Studio 2022가 없는 경우 추가하고 있으나, Visual Studio 2022도 사전에 Import 목록을 따르시기 바랍니다.

UE5.5 가이드와 같이 GitHub account와 Epic Games에 로그인합니다.

윈도우즈 개발자 모드를 활성화 합니다.

Git clone으로 CarlaUE5를 다운로드합니다.

git clone -b ue5-dev https://github.com/carla-simulator/carla.git CarlaUE5

다운로드한 CarlaUE5폴더로 이동 후 CarlaSetup.bat를 실행합니다.

cd CarlaUE5
CarlaSetup.bat

2. 클라이언트와 UE Editor빌드

carla 0.10은 cmake를 사용해 빌드하며 빌드 위치는 git clone으로 다운로드한 CarlaUE5폴더입니다.

ClaraUE5폴더에서 VS 2022용 x64 Native Tools 명령 프롬프트를 열고 아래 명령을 실행합니다.

cmake -G Ninja -S . -B Build -DCMAKE_BUILD_TYPE=Release

[!caution]

주의

C:\CarlaUE5\Build_deps\sqlite3-src\shell.c 파일에는 버그가 있습니다. 26338라인과 26367라인을 아래 코드와 같이 수정합니다. 수정하지 않고 cmake --build Build 를 진행할 경우 빌드에 실패합니다.

빌드에 실패한 경우 CarlaUE5\Build에 Build 폴더를 삭제하고, 이전 단계cmake -G Ninja -S . -B Build -DCMAKE_BUILD_TYPE=Release로 새로 Build 폴더를 생성합니다. 이후 C:\CarlaUE5\Build_deps\sqlite3-src\shell.c를 수정합니다.

// before  26338라인
    static const char *zBomUtf8 = "\xef\xbb\xbf";
    const char *zBom = 0;

// after
    // static const char *zBomUtf8 = "\xef\xbb\xbf";
    // const char *zBom = 0;
    static const char *zBomUtf8 = "\xef\xbb\xbf";
    const char *zBom = 0;
// before 26367라인
if( zFile && zFile[0]=='|' ){
          while( i+1<nArg ) zFile = sqlite3_mprintf("%z %s", zFile, azArg[++i]);
          break;
        }
// after
        while( i+1<nArg ) {
            char *zTemp = sqlite3_mprintf("%s %s", zFile, azArg[++i]);
            sqlite3_free(zFile);
            zFile = zTemp;
          }

shell.c를 수정 후 빌드합니다.

cmake --build Build

빌드에 성공하면 Python whl을 생성합니다.

Carla Editor를 빌드합니다.

cmake --build Build --target launch

Carla Editor 빌드에 성공하면 UE5.5가 자동실행됩니다. UE5.5 실행 후 Shading 등을 구성하는데 약 1~2시간이 필요합니다.

3. 서버 빌드

위 UE Editor 빌드와 같은 ClaraUE5폴더에서 VS 2022용 x64 Native Tools 명령 프롬프트를 열고 아래 두개 중 하나를 실행합니다. 아래는 디버그를 지원합니다.

cmake --build Build --target package
cmake --build Build --target package-development

빌드에 성공하면 Build/Package/설치한팩키명/Windows/CarlaUnreal.exe 서버를 실행할 수 있습니다. 설치한팩키명/PythonAPI/carla/dist/에는 carla-0.10.0-cp311-cp311-win_amd64.whl이 있습니다.

pip install carla에는 공식 빌드된 바이너리 (0.9.15)만 있어 에러가 발생합니다. whl파일을 사용해 빌드한 carla 팩키지를 설치합니다.

pip install carla-0.10.0-cp311-cp311-win_amd64.whl

참고자료

← Previous
Full Context Magic - AI가 마침내 당신의 프로젝트 전체를 이해할 때
Next →
About