단순 기록

carla 0.9.12

Canvaslics 2021. 8. 15. 15:57

매번 새롭게 발표되는 carla simulation

(;; 왜 국내에 carla simulator쓰는 사람들은 블로그를 안하시는지... 국내는 정보의 씨가 말라서 없는듯..;;)

- Large Maps: Perform simulations on huge maps
- Physics Determinism and Improvements: Full determinism, wheel improvements, and telemetry views
- Unreal Engine 4.26: New upgrade brings easy off-screen rendering and deprecation of OpenGL
- Python Client Library: New options to install the client library with pip
- Optical Flow Camera: Detect pixel motion between frames
- New and Improved Vehicles: Five new additions with a wide range of vehicle types
- New and Improved Pedestrians: Diverse pedestrians with a variety of clothing, shapes, and skin color
- OpenStreetMaps: Generate traffic lights where you want
- RLlib Integration: Use CARLA as an environment in Ray for reinforcement learning experiments
- Chrono Integration (Beta): Simulate physics with the Chrono engine
- CarSim Fully Integrated: CarSim is fully supported
- spawn_npc.py Rename: New name for our map population script
- New Default Town: New default town when you first load CARLA

이번 업데이트를 요약하면
언리얼엔진 버전 업데이트
opengl을 버리고 vulkan만 지원하며 offscreen을 지원
규모가 작은 지도 외에 largeMap을 도입
물리엔진이 좀 더 강화
블루프린터가 추가되었으며 더 디테일한 모습의 walker와 vehicle
AI 를 위한 확장 지원
..정도가 될거같다.

매번 업데이트할 때마다 새로운 이야기를 항상 전해준 carla이였지만
이번에는 조금 다른 업데이트 부분이
언리얼엔진을 그간 고수해오던 4.24에서 4.26으로 변경되었다는 것이며
AI라이브러리를 지원한다는 것이다.
처음부터 자율주행을 위한 시물레이션으로 만들어진것이지만
그 전까지는 세계를 구성하는데 집중한 느낌이 강했지만
자율주행과 물리엔진에 더 집중하는 모습을 보여주는 것같다

파이썬 스크립트가 변경된건 업데이트된 블루프린터를 위한 api의 변경에
의한 것으로 보이며
opengl을 deprecated 시킨것은 향후 더 거대해진 지도와 더욱 진보된 ai를 염두해둔것일지도 모른다

간단히 docker 이미지로 컨테이너를 실행했을때 구동이 가능하다
hub.docker.com 도커 레포지토리에서 carlasim/carla:0.9.12 으로 이미지를 다운받으면 된다
기본적으로 도커는 그래픽을 지원하지 않는 모드로 실행되므로 도커 이미지로 컨테이너를 만들고 이를 통해서 호스트pc에서 시뮬레이션을 눈으로 보기위해서는 몇가지 명령어와 포트 그리고 privileged모드로 컨테이너를 생성하면 carla 0.9.12 버젼을 사용할 수 있다
도커 이미지는 carla 라는 이름의 우분투 사용자계정으로 만들어져있으며 home 디렉토리에 CarlaUE4.sh 파일 실행만으로 시뮬레이션 환경이 호스트에 실행된다.

혹시라도 docker안쓰고 package버전도 아닌 build 버전 다운받아서 사용하려면 github에 있는거 clone하고 Update.sh 해서 content 다운 받으면 make PythonAPI하고나서 그제서야 make launch로 언리얼엔진4로 실행 가능하다. 물론 그전에 언리얼엔진4 설치해둬야한다. 그래서 복잡하게 수정하거나 package 따로 만들어서 배포할 생각 아니면 그냥 apt install 등의 방법으로 package버전 쓰는게 건강에 좋다. 언리얼엔진4 사양이 높아서 그런다.

어쨋든 패키지버젼(도커포함)은 실행전에 라이브러리를 먼저 설치해줘야 파이썬이 import에러를 뿜지 않는다.

pip3 install -r PythonAPI/carla/requirements.txt
easy_install PythonAPI/carla/dist/carla-0.9.12-py3.7-linux-x86_64.egg

그리고 끝으로 파이썬이나 이것저것에 아직 생소한 분들은 PYTHONPATH 환경변수에 egg파일을 명시해주면 된다. export PY.... 아무튼.. 아님 anaconda라도... 문제는 carla 버전마다 다르지만 최근엔 파이썬 3.7이 기본이라서 설정이 제대로 안되면 계속 에러가 난다.. 파이썬2랑 파이썬3랑 혼재되면서 복잡해진다.

끝.