車載仿真研究學習(一)——SUMO

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(與步驟一中相同)

紅色即爲行駛在道路上的車輛

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章