SUMO Simulation

[SUMO Study] sumocfg (SUMO configuration)

2ns 2024. 4. 24. 14:13

SUMO 시뮬레이션을 수행하기 위해 sumocfg 파일을 반드시 작성해야 한다.

 

SUMO를 sumo(cmd 방식)으로 돌리든, sumo-gui(gui 방식)으로 돌리든 sumocfg 파일이 정의되어 있어야만 한다.

 

sumocfg 파일
- Input: 네트워크 파일, Route 파일(차량 종류 및 대수 등), Additional 파일(rerouting, loop detector 등), ...
- Output: 시뮬레이션 결과 파일(다양한 결과에 대한 명령어가 있다)
- Time: 시뮬레이션 시작(begin) 및 끝(end) 시간 설정, 시뮬레이션 step(1초당 몇번 진행되는지) 정의
- Processing: 시뮬레이션에서 어떠한 상황이 발생했을 때, 어떻게 해야할지에 대해 정의
- Routing: 차량들의 경로선정에 대한 알고리즘 등을 정의
- Report: log 등에 대해 정의
- Emission: 차량들의 emission에 대해 정의
- Communication: 차량들의 통신에 대해 정의

그 외 Battery, Example device, Driver state device, Taxi drive, Random number, Gui only 등이 있다.

 

자세한 내용은 아래 SUMO 홈페이지를 참고하자.

 

https://sumo.dlr.de/docs/sumo.html#format_of_additional_files

 

sumo - SUMO Documentation

1.1.0 --> sumo From 30.000 feet sumo is the simulation itself; it is a microscopic, space-continuous, and time-discrete traffic flow simulation. Input (optional): Additional definitions of traffic lights, variable speed signs, output detectors etc. Output:

sumo.dlr.de

 

Usage Description 파트를 읽다보면, 아래와 같은 Option들이 있는데, 처음에는 어떻게 적용해야할지 몰라 당황했었다.

-c<FILE>

--configuration-file<FILE>

 

일단 이 중 sumocfg 스크립트에 --configuration-file<FILE>의 형식을 사용할 것이며, 

아래와 같이 스크립트를 작성할 수 있다.

<?xml version="1.0" encoding="UTF-8"?>

<!-- generated on 2024-04-22 14:47:58 by Eclipse SUMO sumo Version 1.19.0
-->

<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd">

    <input>
        <net-file value="Practice_0424.net.xml"/>
        <route-files value="Practice_0424.rou.xml"/>
        <additional-files value="Practice_0424.add.xml"/>
    </input>

    <output>
        <lanechange-output value="Practice_lanechange_0424.xml"/>
        <tripinfo value="Practice_tripinfo_0424.xml"/>
    </output>

    <time>
        <begin value="0.0"/>
        <end value="3600.1"/>
        <step-length value="0.1"/>
    </time>

</configuration>

 

이는 Input 파일로 네트워크 파일, Route 파일, Additional 파일을 불러오며,

Output으로 Lanechange-output 파일, Tripinfo 파일을 내보낸다는 뜻이다.

시뮬레이션 시간으로 0초부터 3600초까지 0.1step-length(시뮬레이션의 1초는 실제 0.1초를 의미) 수행한다는 뜻이다.

 

위 스크립트 형태로 내가 넣고자 하는 Input과 얻고자 하는 Output, 그리고 그 외의 것들도

SUMO 공식 홈페이지(위에 써놓은)에서 참고하여 추가할 수 있으니, 잘 알아두자.