SUMO學習軌跡:
(一)使用下載的道路文件和隨機生成的車輛行駛軌跡
1.
道路(路網)文件:.osm格式。可以先在Openstreet上下載任意一個地區的地圖(格式爲osm格式),然後使用sumo自帶的可執行工具netcovert將osm格式的文件轉化爲sumo可以使用的.net.xml格式的文件。命令如下:
netcovert -osmfiles ***.osm -o ****.net.xml
***前面爲輸入文件(格式爲osm),後面是輸出文件(格式爲net.xml)。
2.
2.1 車流量文件:使用sumo的tools文件夾下的randomTrips.py工具。
格式如下:
randomTrips.py -n ***net.xml -l -e 600 -o ***trips.xml
-n是-net,***即爲上一步生成的道路文件,後面的-l -e 600 是隨機工具的配置。-o是輸出,然後得到了一個.trips.xml文件。
2.2 車流文件:將剛剛生成的車流量文件和第一步生成的道路文件結合起來,使用duarouter.exe文件,格式如下:
duarouter -n ***.net.xml -t ***.trips.xml -o ***.rou.xml –ignore-errors
-n表示輸入,(輸入爲第一步生成的道路文件,以及2.1中生成的trips.xml文件)-o表示輸出,輸出的是****.rou.xml格式的文件。
3.配置文件:
suom最終運行的是格式爲sumo.cfg(配置文件),修改配置文件(讀入生成的路網文件和車流文件)使用上述生成得一系列格式的文件,運行仿真。
input輸入文件是格式爲net.xml的道路文件“****.net.xml”以及剛剛生成的車流文件”****.rou.xml”。
(二)手動編寫道路文件、指定車輛行駛軌跡
1.編寫道路的節點和邊的情況
道路是由節點和邊組成的,分別編寫一個節點和邊的node、edge文件,文件的格式爲.xml格式。
以下爲節點的信息:
id爲節點的名稱;x,y是每個節點的位置座標,type是每個節點的屬性。
以下爲邊的信息:
id是這條邊的名稱,爲便於識別,edgeR-0-0表示右側第一條車道、edgeL-0-0左側第一條車道。邊是由兩個節點連接而成,所以要指定一條邊的起始節點(from和to)。numlane是道路的條數。
2.整合節點和邊的狀況生成路網文件
編寫完node和edge文件之後,用netconvert轉換成路網文件net.xml。格式如下:
netconvert –node-files nod.xml -edge-files edg.xml -o handWrite.net.xml
最終輸出handWrite.net.xml格式的路網文件。
此時可以通過配置文件,只看生成的道路情況。配置文件的內容如下:
input輸入爲剛剛生成的道路文件
以下爲節點node1和node2之間的車道情況,共有四條車道。
節點node2和node3之間的車道。
以下爲編寫配置文件生成的整個路面的道路狀況。
3.編寫文件指定車輛的行駛軌跡,命名爲***rou.xml。內容如下:
輸入爲:道路文件。
下面爲編寫的車輛行駛文件。
4. 編寫配置文件***.sumo.cfg(與步驟一中相同)
紅色即爲行駛在道路上的車輛