sumo學習心得——讓sumo跑起來
阿新 • • 發佈:2021-02-11
技術標籤:sumo學習
剛看到sumo,我的心態是崩潰的,網上的資料也很少,不知道如何下手。好在本藍靈機一動,找到了示例檔案,模仿著弄了一下,成功跑了起來。
首先,一個模擬模型需要的基本檔案如下:
網上衝浪的時候發現很多選手不知道這幾個檔案怎麼生成。很簡單,去示例檔案裡複製就好,然後重新命名,修改裡面的程式碼。
net檔案用編輯器建立就好,簡單快速,有點像vissim
rou檔案是車流檔案,定義車輛屬性就好。
<routes>
<vType id="type1" accel="0.8" decel="4.5" sigma="0.5" length="5" maxSpeed="70"/>
<vehicle id="0" type="type1" depart="0" color="1,0,0">
<route edges="1 6"/>
</vehicle>
</routes>
程式碼具體代表什麼,我們這裡不過多討論,但是車輛軌跡要說明一下:
<route edges= "1 6"/>
1和6代表從1號邊駛向6號邊,在此強調,邊的id一定要認真修改,不要使用預設的。我這裡用順時針編號。
sumocfg檔案是模擬執行檔案,這裡主要是為了把路網和其他屬性檔案連結在一下,程式碼如下:
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd">
<input>
<net-file value="1.net.xml"/>
<route-files value="1.rou.xml"/>
</input>
<output>
<write-license value="true"/>
</output>
<time>
<begin value="0"/>
<end value="10000"/>
</time>
<processing>
<default.speeddev value="0"/>
</processing>
<report>
<duration-log.disable value="true"/>
<no-step-log value="true"/>
</report>
</configuration>
因為修改了檔名,所以這段程式碼大家看起來會很容易,這裡不做過多解釋。模擬的時候要設定延時,建議設定1000ms,否則捕捉不到這一輛車就結束了。