SUMO 初心者向けチュートリアル(5)
SUMOlympics
ここでは信号機を作成したり、様々な車両クラスを使用して車両タイプを定義する方法を扱う。
ここでは、以下の順序で作成していく。
- 2点のエッジによるネットワークの作成
- 歩道、自転車道、バス道、線路の追加
- .rou.xmlと.sumocfgの作成&コピペ
- 1.で作成したネットワークの2つのエッジの間にエッジを作成
- 信号機の追加
1. 2点のエッジによるネットワークの作成
では早速ネットワークを作成しよう。
id | pos |
---|---|
beg | 0, 0 |
end | 1000, 0 |
最初に作成したレーンのidをbegと設定しよう。
2. 歩道、自転車道、バス道、線路の追加
ネットワークを作成できたら、歩道を追加しよう。
その要領で自転車道とバス道も追加しよう。
次にレールを敷きたいので、メニューバーの右上の方にあるclicks target lanesを選択し、ネットワークの一番上の黒色の道路をクリックすると、一つの車線を選択できる。
そこで、Duplicate laneを選択すると、1本道路が追加されただろう。
インスペクターモード(Modes>Inspector)で左下にHierarchyがあるだろう。
先ほど複製した道路を右クリックしてInspectをクリックしよう。
その次に、左側にいろいろなパラメータがあるがallowを選択しよう。
すると、下の画像のような画面が出るから、rail_urbanにだけチェックをつけてacceptを選択してOK!
次に1本ずつに対してwidthをdefaultに設定すれば次の画像のようになるはず。
これをsumolympics.net.xmlと保存しよう。
3. .rou.xmlと.sumocfgの作成&コピペ
次に、先ほど保存したファイルと同じディレクトリ内にsumolympics.rou.xmlを作成しよう。
sumolympics.rou.xmlに次のプログラムをコピペしよう。
<routes>
<vType id="pkw" length="5" maxSpeed="50" accel="2.6" decel="4.5" sigma="0.2" speedDev="0.2" vClass="passenger"/>
<vType id="bus" length="15" maxSpeed="30" accel="1.2" decel="2.5" sigma="0.1" speedDev="0.1" vClass="bus"/>
<vType id="tram" length="40" maxSpeed="13" accel="0.8" decel="0.5" sigma="0.1" speedDev="0.1" vClass="rail_urban"/>
<vType id="bike" length="1.8" width="0.8" maxSpeed="7.5" accel="0.8" decel="1.5" sigma="0.5" speedDev="0.5" vClass="bicycle"/>
<vType id="pedestrian" length="0.3" width="0.5" maxSpeed="2.0" accel="0.2" decel="1.5" sigma="0.2" speedDev="0.2" vClass="pedestrian"/>
<flow id="pkw" type="pkw" from="beg" to="end" begin="0" end="0" number="66" departPos="last"/>
<flow id="bus" type="bus" from="beg" to="end" begin="0" end="0" number="5" departPos="last"/>
<flow id="tram" type="tram" from="beg" to="end" begin="0" end="0" number="2" departPos="last"/>
<flow id="bike" type="bike" from="beg" to="end" begin="0" end="0" number="100" departPos="last"/>
<personFlow id="pedestrian" type="pedestrian" begin="0" end="0" number="100" departPos="-30">
<walk from="beg" to="end" arrivalPos="-0.1"/>
</personFlow>
</routes>
最後にsumolympics.sumocfgを作成し、次のプログラムをコピペしよう。
<configuration>
<input>
<net-file value="sumolympics.net.xml"/>
<route-files value="sumolympics.rou.xml"/>
</input>
<processing>
<lateral-resolution value="1." />
</processing>
</configuration>
4. 1.で作成したネットワークの2つのエッジの間にエッジを作成
任意の場所のレーンを右クリックして、Split edge hereを選択するとエッジが追加されただろう。
追加したエッジのidは変更しなくてよいが、左側のレーンのidをbeg、右側をendとしよう。
5. 信号機の追加
ここまでくれば簡単で、メニューバーにあるSet traffic light modeを選択し、先ほど追加したエッジをクリックして、左メニューにあるCreateを押せばOK!
お疲れさま。
最初のレーンを作れさえすれば簡単だと思う(めちゃくちゃ詰まった)。
Discussion