SUMO 이야기

[SUMO 이야기] #1. SUMO 튜토리얼: SUMO 설치 및 Traci를 위한 가상환경 세팅 (VScode)

교통앵무 2023. 12. 14. 01:55

 

SUMO를 선택하기로 마음먹었는가? 웰컴 투 헬^^

 

 

당신은 어떤 이유에선지 모르겠지만 미시교통 시뮬레이션으로 SUMO를 선택했으며(아마 공짜라는 것과 마음대로 시뮬레이션을 드리블 할 수 있다는 장점에 여기로 흘러들어왔을 확률이 높다), 비로소 SUMO라는 정보의 바다에 던져질 준비가 된 것이다.

 

이 sumo 아님. 당신도 구글에 검색할 때 몇 번 실수할 지도 모른다.

 

 

당신은 이제부터 SUMO의 수많은 기능과, 수많은 오류와, 그리고... 무엇보다도 파이썬과 친해질 것이다.

 

또한 감사하게도, 문명의 발달이 GPT-4라는 세기의 역작을 만들어냈다(OpenAI 만세!). 이 인공지능도 SUMO에 대해 잘 이해하고 있으니, 공부를 하면서 함께 쓰면 매우 좋다. 참고하시길.

 

아무튼, 첫 포스팅은 역시 SUMO 설치 및 가상환경 세팅부터 시작한다.

 

* 참고: 본 포스팅을 포함한 모든 작업물은 Windows 64-bit 에서 이루어진다.

 

1. 다음의 SUMO Installing 페이지로 이동한다. https://sumo.dlr.de/docs/Installing/index.html

 

Installing - SUMO Documentation

1.1.0 --> Installing Windows There are four different binary packages for Windows depending on the platform (32 vs. 64 bit) you have and what you want to do with SUMO. If you want to install it locally and have administrator rights on your machine you shou

sumo.dlr.de

 

2. 본인의 작업 PC에 맞는 Installer를 다운로드 받는다.

 

3. 다음과 같이 차례대로 버튼을 눌러준다.

 

4. 설치를 완료했으면 일단은 다 끝났다(벌써?).

그런데 지금까지는 그냥 말 그대로 SUMO 라는 시뮬레이션 자체만 설치를 한 거고, 실제로 쓰기 위해서는 조금 더 세팅이 필요하다. 앞에서 이야기한 것처럼, SUMO의 장점은 뛰어난 범용성 혹은 확장성이라고 할 수 있는데, 이것은 Traci라는 파이썬 모듈을 이용해서 우리가 직접 시뮬레이션에 접근할 수 있기 때문이다.

Olaverri-Monreal, C., Errea-Moreno, J., Díaz-Álvarez, A., Biurrun-Quel, C., Serrano-Arriezu, L., & Kuba, M. (2018). Connection of the SUMO microscopic traffic simulator and the unity 3D game engine to evaluate V2X communication-based systems.  Sensors,  18 (12), 4399.

 

쉽게 이야기하면 Traci란 SUMO의 신호, 차량, 뭐 이런 것들을 제어할 수 있는 일종의 툴이라고 보면 된다. 나중에 또 다루게 되겠지만 능력자분들께서 작성해 놓은 여러 함수들을 이용하면 우리는 손쉽게 SUMO에 접근할 수 있다. 예를 들어서 Traci의 함수들을 이용하면 "지금 이 시각에 링크 A의 2번째 차로에 있는 모든 차량들의 ID를 추출하라" 이런 명령도 가능하다.

 

자, 그럼 이제 Traci를 실행하기 위한 가상환경 세팅을 해보자. 본 포스팅에서는 VScode를 활용할 것이다.

 

5. 준비물 챙기기

준비물: Python 3.7, VScode

여러 가지 파이썬 버전을 사용할 수는 있으나, 정신건강을 위해 3.7을 사용하는 것을 추천한다.

우선 Python 3.7을 설치한다. 나는 3.7.0을 사용하고 있다. 다음 링크에서 받을 수 있다.

 

https://www.python.org/downloads/release/python-370/

 

Python Release Python 3.7.0

The official home of the Python Programming Language

www.python.org

Windows x86-64 executable installer 를 눌러서 다운받자. VScode도 따로 설치하자.

 

6. VScode에서 가상 환경을 만든다.

https://studying-haeung.tistory.com/18

 

[Python] Visual Studio Code에서 가상환경 만들기

Python 가상환경 및 패키지 설치하는 방법 1. cmd terminal 열기 2. 가상환경 생성 2-1. venv를 사용하는 경우 python -m venv 가상환경이름 2-2. virtualenv를 사용하는 경우 python 버전 지정 가능 virtualenv 가상환

studying-haeung.tistory.com

위와 같이 많은 사람들이 이미 올려놓은 포스팅을 참조하자. 가상 환경을 만드는 것은 따로 다루지 않겠다. 가상 환경을 굳이 만들지 않아도 괜찮으나, 연구 또는 프로젝트를 진행하면서 서로 다른 라이브러리의 버전을 사용할 확률이 높다. 나는 이들의 충돌을 막기 위해 각 프로젝트마다 가상환경을 따로 구비해놓는 편이다.

 

다만 앞에서도 언급했다시피, SUMO를 돌릴 가상환경을 구축할 때에는 python의 버전이 높지 않은 것을 추천한다.

 

7. cmd에서 가상 환경을 activate하고, pip install을 통해 traci 라이브러리를 설치한다.

cd "가상환경 이름"/Scripts
activate.bat
pip install traci

 

SUMO와 traci를 이용하기 위해서는 traci 및 sumolib 라이브러리만 필요하지만, 연구 등을 위해서 이외에도 필요한 라이브러리(pandas, numpy, tensorflow, pytorch, matplotlib, scikit-learn 등...)가 있다면 다운 받아놓자.

 

진짜 끝!

 

다음 글에서는 sumo 튜토리얼과 traci의 기본적인 운용법에 대해서 알아볼 것이다.