CVAD

1. Ubuntu 20.04 CARLA install 본문

CARLA

1. Ubuntu 20.04 CARLA install

_DK_Kim 2023. 8. 12. 18:53

CARLA는 Unreal Engine 기반으로 동작하는 시뮬레이터로서, 실제 차량에 쓰이는 다양한 데이터 수집 및 학습 알고리즘 적용이 가능하다. 원래는 Isaac sim을 사용하였으나, Isaac sim 의 잦은  이슈(사실은 연구실 컴퓨터가 후진거...) 및 내가 원하는 기능을 사용하기 어려워 CARLA로 진행하였다. 

 

이 글은 Ubuntu 20.04 에서 설치를 기준으로 작성되었습니다. 이미 노션에 업로드 한 글이 있어서, 본 포스팅에서는 간략한 과정만을 나타냈습니다. 본 포스팅에서 생략된 과정은 아래의 노션 링크에서 확인하실 수 있습니다.

본 포스팅과 노션은 CARLA document의 설치 과정을 참고하였습니다.
(CARLA document :  https://carla.readthedocs.io/en/latest/build_linux/ )

 

https://large-felidae-fe4.notion.site/0-Installation-5bfdedbac910424d911ef5bf2b423bd4?pvs=4

 

0. Installation

What is CARLA?

large-felidae-fe4.notion.site


Prerequisite Installation

Unreal Engine과 github 계정의 연결이 끝났으면, CARLA 실행을 위해 필요한 추가파일을 설치해줘야한다. 아래의 코드를 입력하면된다.

sudo apt-get update &&
sudo apt-get install wget software-properties-common &&
sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add

위의 코드의 실행이 끝났으면, 아래의 코드를 추가로 실행해준다.

sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main"
sudo apt-get update
sudo apt-get install build-essential clang-10 lld-10 g++-7 cmake ninja-build libvulkan1 python python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-10/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-10/bin/clang 180

추가적으로 Python Dependnecy 까지 설치해준다.

pip install --user setuptools &&
pip3 install --user -Iv setuptools==47.3.1 &&
pip install --user distro &&
pip3 install --user distro &&
pip install --user wheel &&
pip3 install --user wheel auditwheel

Unreal Engine installation

나의 경우 Unreal Engine github에서 직접 다운을 받았지만, CARLA document에 적힌 방법대로 다운받아도 된다.

(중요한 것은 git clone에 사용되는 ID와 PW는 git 계정이름과 access token값이다. 나는 이걸 몰라서 좀 헤매었다....)

난 아래의 링크에서 직접 git clone을 했다.

 

https://github.com/CarlaUnreal/UnrealEngine

 

 

다음으로 아래의 코드를 실행시켜준다.

cd ~/UnrealEngine
./Setup.sh && ./GenerateProjectFiles.sh && make

CARLA install

지금까지의 설치 과정을 잘 지나왔다면, CARLA의 설치는 비교적 양호(?)하다. CARLA를 설치할 파일에 아래의 코드를 실행시켜주자.

git clone https://github.com/carla-simulator/carla

다음은, CARLA에서 사용하는 최신 asset들을 사용하기 위해 업데이트를 진행해준다. 

cd carla
./Update.sh

업데이트까지 마무리되었으면, CARLA가 Unreal engine을 사용하기 위해 환경 변수를 선언해주는 작업이 필요하다. 방법은 총 2가지가 있는데, 결론부터 말하자면 나는 2번째 방법을 사용했다.

 

[1] CARLA를 사용하기 전에 아래의 코드를 사용

export UE4_ROOT=~/(UnrealEngine이 설치된 경로)

[2] .bashrc 를 수정하여 제일 하단에 1)의 코드를 입력하기

gedit ~/.bashrc
# 켜진 .bashrc 파일에서 1)의 코드를 추가

이제 2가지 코드만 더 실행하면 된다. 먼저 Python API를 컴파일하기 위해 carla 폴더에서 아래의 코드를 실행해준다.

이 코드 실행이 완료될 때까지 상당히 시간이 걸리니 참고하자.

make PythonAPI

다음으로 server를 컴파일 해준다. Python API 때와 마찬가지로 시간이 엄청 걸린다. server를 컴파일하는 중 아마 carla가 실행될 것이다. 가만히 눈으로만 구경하면 된다. 나처럼 신기하다고 중간에 막 건드리다보면 렉걸려서 중간에 튕길까봐 심장이 쫄깃해지니 가만히 기다리자.

make launch

Simulation Test

make launch까지 끝나면, CARLA에 python script 를 적용해볼 수 있다. 먼저, CARLA에 play 버튼을 눌러주고 Python API의 example 폴더로 들어가서 예제 코드들을 실행시켜주면 된다. 아래의 코드를 참고하자. 참고로 Terminal A, B는 서로 다른 터미널이다. 

# Terminal A 
        cd PythonAPI/examples
        python3 -m pip install -r requirements.txt
        python3 generate_traffic.py  

# Terminal B
        cd PythonAPI/examples
        python3 dynamic_weather.py

정상적으로 작동한다면, Terminal A를 실행시켰을 때 차량과 보행자가 생성되어 움직일 것이다. B의 경우는 낮부터 밤까지 계속 변하면서 동시에 날씨도 변할 것이다. 터미널을 각각 띄워서 저 두 코드를 동시에 실행시켜도 잘 작동된다.

728x90

'CARLA' 카테고리의 다른 글

3. CARLA 0.9.12 버전으로 재설치  (1) 2024.05.27
2. CARLA튜토리얼  (0) 2023.10.17