일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Linux build
- Paper Analysis
- 기능과 역할
- object detection
- TensorFlow Object Detection Error
- DACON
- Docker
- 사회초년생 추천독서
- 개발흐름
- Object Detection Dataset 생성
- DOTA dataset
- Custom Animation
- TensorFlow Object Detection 사용예시
- 커스텀 애니메이션 적용
- TensorFlow Object Detection Model Build
- 리눅스 빌드
- Carla
- paper review
- Git
- CARLA simulator
- 객체 탐지
- VOC 변환
- 크롤링
- AI Security
- Branch 활용 개발
- TensorFlow Object Detection API install
- Towards Deep Learning Models Resistant to Adversarial Attacks
- InstructPix2Pix
- 논문분석
- 논문 분석
Archives
- Today
- Total
JSP's Deep learning
[CARLA Simulator] CARLA 0.9.11 Linux Build with Docker on Ubuntu 20.04.05 LTS 본문
Etc/CARLA Simulator
[CARLA Simulator] CARLA 0.9.11 Linux Build with Docker on Ubuntu 20.04.05 LTS
_JSP_ 2023. 2. 2. 00:08CARLA Simulator Linux Build on Ubuntu 20.04 using docker
본 환경구축 방법은 개발환경에 의존적이며 개발환경이 달라지면 예기치 못한 에러가 발생할 수 있다.
* 개발환경
- Local
- OS : Ubuntu 20.04
- GPU : RTX 4080
- NVIDIA 드라이버 : 525.85.05
- CUDA version : 12.0
- cuDNN : 8.9
- nvidia/vulkan image
- 사용 이미지 : nvidia/vulkan
- OS : Ubuntu 20.04.5 LTS
- python : 3.8.10
- CARLA & Unreal Engine Version
- CARLA : 0.9.11
- Unreal Engine : 4.24.3
1. 로컬 환경
1) 환경구축
- NVIDIA 그래픽 드라이버 설치
- CUDA toolkit 설치
- cuDNN 설치
- NVIDIA-Docker 설치
- Docker container toolkit 설치
- Vulkan SDK 설치
- xhost 권한 설정
- Command
xhost +
: 모든 접근제한 해제
2) nvidia/vulkan 이미지 빌드
- Git Clone
git clone https://gitlab.com/nvidia/container-images/vulkan.git
- Clone 폴더 진입
- Build
docker build --pull -t \ nvidia/vulkan:1.3-470 \ --build-arg BASE_DIST=ubuntu20.04 \ --build-arg CUDA_VERSION=11.4.2 \ --build-arg VULKAN_SDK_VERSION=`curl -sk https://vulkan.lunarg.com/sdk/latest/linux.txt` \ --file docker/Dockerfile.ubuntu .
- Test3D 큐브가 화면에 표시되면 성공
docker run -rm --gpus all --name test -e NVIDIA_DISABLE_REQUIRE=1 -v $HOME/.Xauthority:/root/.Xauthority -e DISPLAY=$DISPLAY -e NVIDIA_DRIVER_CAPABILITIES=all --device /dev/dri --net host -v /etc/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json -v /etc/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json -v /usr/share/glvnd/egl_vendor.d/10_nvidia.json:/usr/share/glvnd/egl_vendor.d/10_nvidia.json nvidia/vulkan:1.3-470 vkcube
2. CARLA 서버 컨테이너 구축
1-1) 도커 컨테이너 생성
docker run -itd --privileged --gpus all --name carla_server_ue424_vulkan -e NVIDIA_DISABLE_REQUIRE=1 -v $HOME/.Xauthority:/root/.Xauthority -e DISPLAY=$DISPLAY -e NVIDIA_DRIVER_CAPABILITIES=all --device /dev/dri --net host -v /etc/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json -v /etc/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json -v /usr/share/glvnd/egl_vendor.d/10_nvidia.json:/usr/share/glvnd/egl_vendor.d/10_nvidia.json nvidia/vulkan:1.3-470 /bin/bash
1-2) 도커 컨테이너 접속
docker exec -it carla_server_ue424_vulkan bash
2) 기본 패키지 설치
apt-get update &&
apt-get install wget software-properties-common &&
add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" &&
apt-get update
3) 유저 생성
CARLA는 USER 권한의 빌드를 권장한다.
USER 권한으로 진행하지 않으면 예기치 못한 에러가 발생할 수 있다.
- 유저 생성
adduser ue424vulkan
- 유저 생성을 위한 패키지 설치
apt-get update && apt-get install sudo && apt-get install vim
- 유저 정보 추가
# 1. sudoers 파일 편집 vim /etc/sudoers # 2. root 아래에 다음의 USER 정보 추가 ue424vulkan ALL=(ALL:ALL) ALL # 3. 강제저장 wq!
- 컨테이너 나가기
# 1. 유저모드로 접속하기 위해서 컨테이너를 나간다. exit
- 유저모드로 컨테이너 접속
docker exec -it --user ue424vulkan carla_server_ue424_vulkan bash
4) 의존성 패키지 설치
- apt repository 추가
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main"
- 의존성 패키지 설치 - (1)
- GPG PUBKEY_ERROR 발생 시 해결방법
# ERROR에 표기된 Key의 hash 값 추가 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [keynum]
- Key 재설정 후 설치 명령어 재실행
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
- 의존성 패키지 설치 - (2)
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
5) 그래픽 동작 테스트
- nvidia 그래픽 확인
# Local pc의 실행결과와 같으면 정상 nvidia-smi
- vulkan 확인
# vulkan graphic 정보가 정상 출력되면 성공 vulkaninfo
- opengl 확인(선택)
- 해당 테스트는 opengl로 빌드를 진행할 시 관련 패키지를 설치하고 진행한다.
- 본문의 환경구축은 Only vulkan으로 진행되기 때문에 opengl이 잡히지 않아도 문제없다.
# opengl의 version이 출력되면 성공 glxinfo | grep "OpenGL version"
6) Unreal Engine 4 빌드
(1) Unreal Engine Repository 접근권한 습득
- EPIC Games 깃허브 연동
- 개인 깃허브 토큰 발행
(2) 빌드
- Repository Clone
- Clone을 위해서 깃허브 아이디와 개인 토큰(PW)을 입력해야한다.
- 본문의 깃허브 아이디와 토큰
git clone -b 4.24 https://github.com/EpicGames/UnrealEngine.git
- Clone 폴더로 이동
cd ~/UnrealEngine
- 빌드(1)
./Setup.sh
- 빌드(2)
./GenerateProjectFiles.sh
- 빌드(3)
make
(3) Unreal Engine Editor 테스트
- xorg 설치
sudo apt-get install xorg-dev
- UE4Editor 폴더로 이동
cd ~/UnrealEngine/Engine/Binaries/Linux
- UE4Editor 실행
./UE4Editor
- 프로젝트 생성 및 열기
- 문제없이 프로젝트가 생성되고 열리면 정상
7) CARLA 서버 빌드
- CARLA install 보조 패키지 설치
sudo apt-get install aria2
- CARLA 설치 의존성 패키지 설치
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
- 홈 폴더로 이동
cd ~/
- CARLA Repository Clone
git clone -b 0.9.11 https://github.com/carla-simulator/carla
- CARLA 0.9.11 asset 다운로드 및 압축 해제
# 1. asset 다운로드
wget http://carla-assets.s3.amazonaws.com/20201222_232b876.tar.gz
# 2. 폴더 생성
cd ~/carla/Unreal/CarlaUE4 mkdir Content cd Content mkdir Carla
# 3. 홈폴더 이동
cd ~/
# 4. 압축해제
tar -xvzf 20201222_232b876.tar.gz -C ~/carla/Unreal/CarlaUE4/Content/Carla
- Build 파일 수정
# 1. CARLA Build 파일 폴더 이동
cd ~/carla/Util/BuildTools
# 2. Build 파일 편집기 열기
vim BuildCarlaUE4.sh
# 3. 첫줄에 다음 코드 추가
UE4_ROOT=~/UnrealEngine
# 4. 저장 후 종료
wq
- 빌드를 위한 Ubuntu 18.04 의존성 패키지 설치
# 1. Ubuntu 18.04 의존성 패키지 설치를 위한 apt-repo 추가 sudo add-apt-repository -r "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" # 2. 의존성 패키지 설치 sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
- CARLA 0.9.11이 Ubuntu 18.04에 맞춰진 버전
- Setup 파일 수정
# 1. Setup 파일이 있는 경로로 이동
cd ~/carla/Util/BuildTools
# 2. vim 편집기 열기
vim Setup.sh
# 3. 433번째 줄 이동 :433 [Enter]
# 4. XERCESC_REPO의 경로를 다음으로 수정
XERCESC_REPO=https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-${XERCESC_VERSION}.tar.gz
# 5. 저장 후 종료 :wq
- Launch
# 1. CARLA root 폴더로 이동
cd ~/carla
# 2. 빌드 시작
make launch
- Test
- 빌드 후 CARLA UE4Editor가 정상적으로 실행되고 Play을 눌렀을 때, 정상적으로 실행되면 성공
3. CARLA 클라이언트 컨테이너 구축
1-1) 도커 컨테이너 생성
docker run -itd --privileged --gpus all --name carla_client_ue424_vulkan -e NVIDIA_DISABLE_REQUIRE=1 -v $HOME/.Xauthority:/root/.Xauthority -e DISPLAY=$DISPLAY -e NVIDIA_DRIVER_CAPABILITIES=all --device /dev/dri --net host -v /etc/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json -v /etc/vulkan/implicit_layer.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json -v /usr/share/glvnd/egl_vendor.d/10_nvidia.json:/usr/share/glvnd/egl_vendor.d/10_nvidia.json nvidia/vulkan:1.3-470 /bin/bash
1-2) 도커 컨테이너 접속
docker exec -it carla_client_ue424_vulkan bash
2) 기본 패키지 설치
apt-get update &&
apt-get install wget software-properties-common &&
add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" &&
apt-get update
3) 유저 생성
CARLA는 USER 권한의 빌드를 권장한다.
USER 권한으로 진행하지 않으면 예기치 못한 에러가 발생할 수 있다.
- 유저 생성
adduser user
- 유저 생성을 위한 패키지 설치
apt-get update && apt-get install sudo && apt-get install vim
- 유저 정보 추가
# 1. sudoers 파일 편집
vim /etc/sudoers
# 2. root 아래에 다음의 USER 정보 추가
user ALL=(ALL:ALL) ALL
# 3. 강제저장
wq!
- 컨테이너 나가기
# 1. 유저모드로 접속하기 위해서 컨테이너를 나간다.
exit
- 유저모드로 컨테이너 접속
docker exec -it --user user carla_client_ue424_vulkan bash
4) CARLA Client 설치
- CARLA install 보조 패키지 설치
sudo apt-get install aria2
- apt repository 추가
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main"
- CARLA 의존성 패키지 설치 - (1)
- GPG PUBKEY_ERROR 발생 시 해결방법
# ERROR에 표기된 Key의 hash 값 추가
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [keynum]
- Key 재설정 후 설치 명령어 재실행
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
- CARLA 의존성 패키지 설치 - (2)
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
- 빌드를 위한 Ubuntu 18.04 의존성 패키지 설치
# 1. Ubuntu 18.04 의존성 패키지 설치를 위한 apt-repo 추가 sudo add-apt-repository -r "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" # 2. 의존성 패키지 설치 - 1 sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git # 3. 의존성 패키지 설치 - 2 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
- CARLA 0.9.11이 Ubuntu 18.04에 맞춰진 버전
- CARLA repository clone
# 1. 홈 디렉토리로 이동
cd ~/
# 2. CARLA 0.9.11 버전 clone
git clone -b 0.9.11 https://github.com/carla-simulator/carla
- CARLA Setup 파일 수정
# 1. Setup 파일이 있는 경로로 이동
cd ~/carla/Util/BuildTools
# 2. vim 편집기 열기
vim Setup.sh
# 3. 433번째 줄 이동 :433 [Enter]
# 4. XERCESC_REPO의 경로를 다음으로 수정
XERCESC_REPO=https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-${XERCESC_VERSION}.tar.gz
# 5. 저장 후 종료 :wq
- CARLA Client Build
# 1. CARLA root 폴더로 이동
cd ~/carla
# 2. CARLA Client 빌드
make PythonAPI ARGS="--python-version=3.8"
# 3. CARLA Library 추가
make LibCarla
- CARLA Client Test
- CARLA 서버가 Play 버튼이 눌린채로 실행되고 있어야한다.
각 예제 파일이 CARLA 서버에 잘 반영되면 성공# 1. Example 폴더로 이동 cd ~/carla/PythonAPI/examples # 2. npc spawn 파일 실행 python3 spawn_npc.py # 3. 날씨 설정 파일 실행 python3 dynamic_weather.py
- Command Tips
# 우분투 버전확인
lsb_release -a
< Reference >
'Etc > CARLA Simulator' 카테고리의 다른 글
[CARLA Simulator] Instance Segmentation Sensor 사용법 (0) | 2023.03.21 |
---|---|
[CARLA Simulator] 커스텀 애니메이션 적용 (0) | 2023.03.21 |
[CARLA Simulator] CARLA 0.9.14 Linux Build with Docker on Ubuntu 20.04.05 LTS (0) | 2023.02.18 |
[CARLA Simulator] CARLA 0.9.13 Linux Build with Docker on Ubuntu 20.04.05 LTS (2) | 2023.02.18 |
[CARLA Simulator] 클라이언트 개발 환경 세팅 (0) | 2023.02.02 |
Comments