
利用ガイド20まででNetworkモードを勉強して、これからまだデマンド編の勉強をしないといけないの??車を走らせるまで道のりは長いな。。もう脱落しようかな。と思うあなた。本当にすみません。とりあえず、適当な車を走らせて遊んでみましょう(^^)/
そんなときに役立つのが、SUMOに標準で用意されている randomTrips.py
です。
このアプリを使えば、ネットワークに合わせてランダムに車を走らせることが出来ます。

1. どこにあるの?
実は、あなたのPCにすでにあります。SUMOをインストールすると、フォルダの中に tools
というディレクトリがあります。
その中に randomTrips.py
が入っています。
例(Windows)
C:\Program Files\sumo\tools\
この中の「randomTrips.py
」をコピーして、ネットワークファイルと同じフォルダに貼り付けます。

ちなみにこれ、何のファイルだか覚えていますか?
利用ガイド7の後半の方で紹介したパイソンスクリプトです。パイソンがインストールされていないといけないので、利用ガイド6を参考にインストールしてください。
もう起動の仕方はわかりますね??
念のため、もう一度ご紹介します(^^♪
まず、ウィンドウズの検索窓で「cmd」と打ち込みます。すると下記のようにコマンドプロンプトが登場します。

コマンドプロンプトのアイコンをクリックして立ち上げて下さい。

まずは、作業フォルダへ移動してください。(できますか?もう忘れましたか??)
作業フォルダのパス(下記の紫のところ)をCtrl+Cでコピーします。

コマンドプロンプトで cd(スペース) /d(スペース)→(Ctrl+Vで貼り付け)を打ち込んでフォルダ移動して、、準備完了です。
cd /d D:\SUMO\LESSON7

2. 基本の使い方
作業フォルダに移動できていることを確認したら、次のように入力し、Enterキーを押します。
python randomTrips.py -n network.net.xml -o routes.rou.xml -e 1000 --seed 42
-n
: ネットワークファイル(.net.xml)を指定
↑保存してあるファイル名を間違いなく手打ちで記載してください。-o
: 出力するルートファイル(.rou.xml)の名前
↑任意です。このファイル名でファイルが出来ます。-e
: シミュレーション終了時刻(例:1000秒まで)--seed
: 乱数の種(同じ値なら同じ結果が再現できます)

これで、自動でroutes.rou.xml
が生成されているはずです。
3. よく使うオプション
--random-depart
出発時刻をランダムにばらけさせる--flows
車の流れ(flow)としてまとめて生成する--pedestrians
歩行者のトリップを生成する
初心者はまず -n
と -o
、-e
、--seed
だけ覚えれば十分です。
4. 実行してみよう
1.NetEdit で File→Open Network でnetwork.net.xml を開きます。
2.つづいて、File→Demand Elements→Load Demand Elements で先ほど作成した、「routes.rou.xml」を開きます。

3.NetEditConfigとSUMOConfigを保存します。(一番左と二番目の保存ボタン、ファイル名は任意)
4.Edit → Open in sumo-gui をクリックします。

SUMO-guiが立ち上がると、まず、real worldを選択してください。(好みですが)

次に、その上の緑の再生ボタンを押してください。
すると、シミュレーション画面にランダムに動く車たちが現れます 🚗🚙✨
5.結構エラーが発生する
ランダムに車のルートを決めてくれるので、絶対にこのルートは通れない!というようなルートも含まれます。その場合はエラーで止まります。
その際、下記のような左下のエラー表示を見て下さい。

これは id=”765″ の車が不可能なルートとして登録されていてますという意味です。
このような不可能な車両をひとつづつ削除していかないといけません。
方法は、作成したroute.rou.xmlを右クリック→メモ帳で開き、該当の行を手作業で削除してください。

行を削除できたら、このroutes.rou.xmlを保存。
もう一度SUMOで実行します。
2回目からは、SUMO GUIからファイルを開く(フォルダのアイコン)→.sumocfgを開く
これだけで読込OKです。

緑の三角をクリックして再生してみてください。
さらにエラーが出たら、また番号を確認して行を削除する。
これを繰り返すという地道な作業ですが、こういうものだと思ってください。
そのうちエラーが無くなります。
以下がエラーを全て取り除いた後のシミュレーションです。細かい車がたくさん見えますね。拡大していってみると、リアルに車が動いているのが分かります。
ただし、ここまで広域表示すると車は本当は小さくなって見えなくなるのですが、私は設定で、車をデフォルメして大きく表示させています。
いかがだったでしょうか?面白いでしょ?
「まずは車を走らせてみたい!」というときの第一歩におすすめです。
モチベーションは上がったでしょうか?
ただ、これで満足しないでください。これはでたらめな車を走らせているだけです。見た目には面白いですが、ちょっとあまり意味はありません。
では、次回からDemandモードを掘り下げていきますので、これからも引き続きお付き合いください!