시뮬레이션 실행 2가지
Carla를 처음 접하고 난 뒤 아주 많은 시간을 설치에 공들였다.
언리얼엔진 설치하는데만 어마어마한 시간이 필요하다.
설치가 끝나면 컴파일이 또 어마어마하다.
전체 다 설치가 끝나면 대략 언리얼엔진 용량만 90기가에 육박한다.
패키지로 carla를 단 10초 안에 설치할 수 있다는 사실을 알게된건 언리얼엔진을 설치하는 과정에서 알았다.
그냥 파일 하나만 실행하면 창이 뜨면서 바로 시뮬레이션이 돌아가기 시작한다.
용량 또한 엄청나게 가볍다. 그리고 아주 간편하다.
그럼에도 처음에는 사용하지 않았다.
언리얼엔진의 사용법을 아직 배우지 않아서 언리얼엔진으로 map을 수정하지는 않는다.
그래서 아직은 시뮬레이션 실행하는 용도로만 패키지나 언리얼엔진이나 둘다 사용한다.
굳이 무겁게 언리얼엔진을 실행할 필요는 없는거 같지만 그게 또 한번 설치해둔거 아까운 마음이 강해서 그냥 나둔다.
시뮬레이션 in Docker
그러다가 문득 웬지 Docker를 지원할 거라는 생각에 찾아보니 Carla에서 공식 지원한다.
공식 문서를 참고하여 0.9.12 버전 이미지를 받고 run을 실행시켰다.
위에서 말한 패키지로 되어있다. CarlaEU4.sh 파일만 실행시키면 창이 뜨는 간단한 형태이다.
기본적으로 Docker는 cli에서 작동하는데 익숙해져있어서 그래픽을 host에서 실행하려면 약간의 설정이 필요하다.
Carla 0.9.12 가이드에는 이렇게 나와 있다.
sudo docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.12 /bin/bash ./CarlaUE4.sh
이렇게 입력하면 될 거같은데 막상해보면 안된다. 아니 안될지도 모른다.
그래서 이렇게 설정하기도 한다. 한줄이지만 길다.
docker run -d --runtime=nvidia -it --name aaaa \
--privileged -e DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
carlasim/carla:0.9.12 /bin/bash
이렇게 명령어를 입력해서 컨테이너를 생성하고 접속해서 CarlaEU4.sh 실행하면 나오진 않는다.
도커 컨테이너가 아닌 우분투에서 xhost +local 명령어 입력 해주면 된다.
xhost 명령어를 먼저 입력하고 docker 명령어를 실행하면 순서가 맞다.
그럼에도 실행했는데 안되는 경우가 생기는데 이건 라이브러리가 없다고 에러가 뜬다.
apt install libomp5 라고 설치해주면되는데 root 권한이 아니라 진행이 안된다.
그러니 우분투에서 docker exec -it -u root aaaa 로 접속해서 libomp5 설치하고 exit로 빠져나와서
이번엔 docker exec -it aaaa 로 접속하여 ./CarlaUE4.sh 실행하면 가능하다.
정리
도커를 이용해서 시뮬레이션을 실행하는 것은 하나의 아주 큰 장점이 있다.
여러개를 동시에 운영할 수 있다는 것이다.
carla 시뮬레이션을 여러개 돌리는 것도 좋지만 carlaviz를 다중으로 돌릴때도 유용하다.
'단순 기록' 카테고리의 다른 글
readthedocs (0) | 2021.09.01 |
---|---|
carla ros bridge (0) | 2021.08.30 |
carla 지도 생성 with roadrunner (3) | 2021.08.30 |
docker컨테이너에서 debug with webstorm IDE (0) | 2021.08.15 |
carla 0.9.12 (0) | 2021.08.15 |