🐈

SUMO 初心者向けチュートリアル(3)

2023/01/23に公開1

バージョン
SUMO1.15.0
Windows11 HOME

quickStart

https://sumo.dlr.de/docs/Tutorials/quick_start.html
ここではネットワークを使用して、トラフィック分析のためのSUMOの基本的なアプリケーションと重要な機能について説明する。

では、次のようなネットワークを作成しよう。
ネットワークの作り方は第1回の方を見てもらえるとよい。

車線を増やす方法は、以下の画面にあるnumLanesを変更することでできる。
また、反対車線を作成するには、道路を右クリックすると以下の画面が出てくる。そこで、Add reverse direction for edgeをクリックことで反対車線を作ることができる。

では、以下道路にのパラメータを入力してネットワークを完成させよう。

id x座標 y座標
91 -1000 1000
92 -1000 0
93 3000 0
94 3000 1000
911 -500 1000
912 -500 0
913 2500 0
914 2500 1000
1 0 1000
2 0 0
3 1000 0
4 2000 0
5 2000 1000
6 1000 1000

作れたでしょうか。Modes>Connectionsを開くと以下のような表示がされると思う。

次に車線が増える部分にちゃんとパスをつなぐ作業を行う。至って簡単で、Connectionモードで以下のように選択するだけだ。濃い緑色の状態から黄緑色になれば選択できているので、左上のokをクリックすればパスがつながる。

忘れていたが、道路をクリックするとエッジ同様にidなどを編集できるので、一番上の画像に従って、idにD1やL1を付与していこう。

調べてみたけど、チュートリアルにあるこの図をどう適用させればよいのかわからないので一旦パスします。

次に道路に優先度を設定していきます。道路をクリックすると左側のパラメータにpriorityがあるので左右に伸びている道路は3、上下に伸びている道路には2を設定する。

ここまでくれば後は楽です。
まず、今までの作業をquickStart.net.xmlとして保存する。
そこで、今保存したディレクトリ内にquickStart.rou.xmlquickStart.sumocfgを作成。

quickStart.rou.xmlに以下をコピペする。

<?xml version="1.0" encoding="UTF-8"?>
<routes>
  <vType accel="3.0" decel="6.0" id="CarA" length="5.0" minGap="2.5" maxSpeed="50.0" sigma="0.5" />
  <vType accel="2.0" decel="6.0" id="CarB" length="7.5" minGap="2.5" maxSpeed="50.0" sigma="0.5" />
  <vType accel="1.0" decel="5.0" id="CarC" length="5.0" minGap="2.5" maxSpeed="40.0" sigma="0.5" />
  <vType accel="1.0" decel="5.0" id="CarD" length="7.5" minGap="2.5" maxSpeed="30.0" sigma="0.5" />
  <route id="route01" edges="D2 L2 L12 L10 L7 D7"/>
  <route id="route02" edges="D2 L2 L12 L15 L18 L5 D5"/>
  <route id="route03" edges="D2 L2 L12 L15 L13 L3 D3"/>
  <route id="route04" edges="D4 L4 L14 L18 L5 D5"/>
  <route id="route05" edges="D4 L4 L14 L16 L10 L7 D7"/>
  <route id="route06" edges="D4 L4 L14 L16 L11 L1 D1"/>
  <route id="route07" edges="D6 L6 L17 L13 L3 D3"/>
  <route id="route08" edges="D6 L6 L17 L16 L11 L1 D1"/>
  <route id="route09" edges="D6 L6 L17 L16 L10 L7 D7"/>
  <route id="route10" edges="D8 L8 L9 L11 L1 D1"/>
  <route id="route11" edges="D8 L8 L9 L15 L13 L3 D3"/>
  <route id="route12" edges="D8 L8 L9 L15 L18 L5 D5"/>
  <vehicle depart="54000" id="veh0" route="route01" type="CarA" color="1,0,0" />
  <vehicle depart="54000" id="veh1" route="route02" type="CarA" />
  <vehicle depart="54000" id="veh2" route="route03" type="CarA" />
  <vehicle depart="54000" id="veh3" route="route04" type="CarA" />
  <vehicle depart="54000" id="veh4" route="route05" type="CarA" />
  <vehicle depart="54000" id="veh5" route="route06" type="CarA" />
  <vehicle depart="54000" id="veh6" route="route07" type="CarA" />
  <vehicle depart="54000" id="veh7" route="route08" type="CarA" />
  <vehicle depart="54000" id="veh8" route="route09" type="CarA" />
  <vehicle depart="54000" id="veh9" route="route10" type="CarA" />
  <vehicle depart="54000" id="veh10" route="route11" type="CarA" />
  <vehicle depart="54000" id="veh11" route="route12" type="CarA" />
  <vehicle depart="54000" id="veh12" route="route01" type="CarB" color="1,0,0" />
  <vehicle depart="54000" id="veh13" route="route02" type="CarB" />
  <vehicle depart="54000" id="veh14" route="route03" type="CarB" />
  <vehicle depart="54000" id="veh15" route="route04" type="CarB" />
  <vehicle depart="54000" id="veh16" route="route05" type="CarB" />
  <vehicle depart="54000" id="veh17" route="route06" type="CarB" />
  <vehicle depart="54000" id="veh18" route="route07" type="CarB" />
...
</routes>

quickStart.sumocfgに以下をコピペする。

<?xml version="1.0" encoding="iso-8859-1"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd">
    <input>
        <net-file value="quickstart.net.xml"/>
        <route-files value="quickstart.rou.xml"/>
    </input>
    <time>
        <begin value="54000"/>
        <end value="54900"/>
    </time>
    <time-to-teleport value="-1"/>
</configuration>

これで無事動くと思います。
自分は、上記のファイル参照の部分でファイル名が間違っていたのでエラーが出たが、しっかりとエラーを見れば解決できると思う。

お疲れさまでした。
次のチュートリアルも頑張ろう。

Discussion

ゆうじゆうじ

突然失礼します。ただいまSUMOを利用しているのですが、右折用信号の作り方がわからず困っています。
可能であれば、どうすれば右折用信号を作れるのか教えてほしいです!