【SUMO利用ガイド24】RouteモードとRoute Distributionモード編

― 自動に経路探索する場合とルート指定して走らせる場合 ―

交通シミュレーションSUMOにおける車両の経路指定には、大きく分けて2通りの方法があります。

  1. 起点と終点を指定して、自動で最短経路を計算して走行させる(自動経路探索)

NetEditの「Routeモード」と「Route Distributionモード」は、この2つ目の「明示ルート指定」に対応する機能です。
でも、実際には1.の自動経路検索でシミュレーションすることが多いです。
最短ではない経路を指定したいときや、バス路線など固定路線などを指定して、指定したルート通りを走らせるためのルート設定モードです。


Routeモード

概要

Routeモードは、ネットワーク上でクリックしてルートを作成するシンプルな機能です。

  • 始点から終点まで、通過するエッジを順番に選択
  • Enterキーで確定、ESCキーでキャンセル

左側のパネル(属性エディタ(Attributes Editor))の設定

Route mode

non-consecutive edges は、途中の接続がないエッジを含めたり、始点と終点のみを指定したりできる自由度の高いモードですが、経路の不整合やルートファイルのエラーのリスクもあります。

consecutive edges は、ネットワーク上で物理的に隣接してつながった道を順番に選んでルートを作成するモードです。経路が途中で離れていないため、シミュレーション中の不整合が少なくなります。

Routeパネルの2番目のドロップダウンは、ルートを走行する車両クラス(vClass)を設定する部分です。ここで『passenger』『bus』『pedestrian』などを選ぶことで、そのルートを走れる車種や交通規制の扱いが決まります。

Internal attributes

「Internal attributes」ではルートの基本的な属性を設定します。

  • id:ルートの識別子
  • color:GUIでの表示色
  • repeat:ルートの繰り返し回数(0なら1回のみ)
  • cycleTime:ルートをサイクル的に繰り返す場合の時間設定(秒)

Parameters

「Parameters」セクションでは、ルートに対して任意のパラメータ(key–value 形式)を付与できます。これはSUMO本体が直接使うものではなく、ユーザーやスクリプトが独自に利用するための拡張情報です。例えば priority=high などと書いておけば、後で解析や制御時にタグ付けのように活用できます。

Netedit attributes

これは外部のルートファイルを参照するためのものですが、現時点では公式ドキュメントの説明も少なく、使い方もよくわかりません。

Route creator

Route creator の表示内容

  • Selected edges
    いままでにクリックして選択したエッジ(道路リンク)の数。
    → どのくらい選択しているかを確認できます。
  • Path edges
    実際にルートに含まれているエッジの数。
    → Selected edges との違いは「候補として選んだけれど経路に繋がらなかった」場合に出ます。
  • Length
    現在のルートの全長(メートル単位)。
    → ルート距離を大まかに把握できます。
  • Average speed
    選択されたルート上のエッジの制限速度を平均したもの(km/h)。
    → シミュレーション上で想定される走行スピードの目安になります。

操作用ボタン

  • Finish route creation
    選択中のエッジ列をルートとして確定します。
    → 押すと <route> が生成され、IDを入力して保存できます。
  • Abort route creation
    ルート作成を中断します。
    → 選択していたエッジはキャンセルされます。
  • Remove last edge
    直前に選択したエッジを取り消します。
    → クリックミスしたときに便利。

表示オプションとショートカット

  • Show candidate edges
    チェックを入れると、次に選択できる候補エッジが色付きで表示されます。
    → ルートの分岐先が視覚的に分かるので、基本的にはオン推奨。
  • SHIFT-click: ignore vClass
    車両クラス(vClass)の制限を無視してエッジを選べます。
    → 例えば「歩行者専用道路に passenger 車両を通す」など。検証用に利用。
  • CTRL-click: force add
    通常は繋がっていないエッジでも強制的に追加できます。
    → ネットワーク修正中や特殊ルートの作成に使用。
  • BACKSPACE: undo click
    最後に選択したエッジを取り消します。
    → Remove last edge ボタンと同じ機能ですが、キーボードショートカットなので素早く操作できます。

Route Distributionモード

概要

routeDistribution は SUMO の公式チュートリアルによると、ルートファイル( .rou.xml) に含まれる正式な構文であり、複数のルートを確率で割り当てて選ばせる機能である。と書いてあります。が、、

まだ不完全な機能か

色々試してみましたが、どうにも動きません。私のバージョンはNetEdit1.24.0です。
XMLファイルを手書きで修正して、強引に設定をしてみたりも試してみましたが、読み込むとエラーで強制終了してしまいます。結果、よくわかりません。

今後の改善に期待

SUMOは今も活発に開発が進んでいるプロジェクトです。
公式フォーラムや開発者の発言でも、GUIサポートの強化やPerson/Flowとの連携強化が検討されています。

将来的にはNetEditで直感的に操作できるようになることを期待しましょう。


おわりに

ここまででルートの作成方法を見てきましたが、ひとつ注意点があります。

ルートを設定しただけでは、まだ車両は走りません。
あくまでも「この道順を使いますよ」と指定しただけの状態です。

実際に車を走らせるには、次のステップである Vehicleモード に進みます。
ここで作ったルートを、車両やフローに割り当てることで、初めてシミュレーション上で車が動き出します。


👉 ということで、次回は 超重要モード「Vehicleモード編


作成したルートをどのように車に割り当てて動かすのか、実際に走るシーンを見られるようになります。

どうぞお楽しみに! 🚗💨


道路ラボをフォローすることで
新しい記事が公開されたときに、メールでお知らせします。

是非フォローしてください。

お預かりしたメールアドレスに対して、無断で広告メールをお送りすることは一切ございません。
個人情報の取扱いについては、[プライバシーポリシー]をご参照ください。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール