【SUMO利用ガイド25】Vehicleモード編

今日はVehicleモードのご説明です。
まずショートカットキーの「V」を押してVehicleモードに切り替えて下さい。

下図の左のパネルは属性エディタと呼びます。
この属性エディタの設定の仕方を上から順番にしていきましょう。
今日はかなり多いですが、、、一つづつ確実に覚えていきましょう!!

Vehicles(車両)

まず、混乱するのが、属性エディタ一番上の「Vehicles」のドロップダウンリスト。
いっぱいあります。どう違うの??
これをまず説明していきましょう。

最初にこれを選ばないといけないのです。

Trip(単発の移動リクエスト)

  • trip (from-to edges / junctions / TAZs)
    出発と到着だけ指定 → 道順は自動
    例)「この通りからあの交差点へ」「住宅街ゾーンから市役所ゾーンへ」

Vehicle(1台の車)

  • vehicle (over route)
    Routeモードで設定した既存のルートを選択する。
  • vehicle (embedded route)
    ここでルートを設定する(その車に道順を直接持たせる)。

※Trip も Vehicle も一台だけの単発の動きになります。これに対して、まとまった台数を動かしたいときは下記のFlowを用います。

Flow(まとまった台数)

  • flow (from-to …)
    Trip と同じ指定方法で台数×時間帯を与える。道順は自動。
  • flow (over route / embedded route)
    Vehicle と同じく、既存ルートを選ぶここでルートを設定の2通り。

どう動く?(SUMO/duarouter の役割)

  • Trip/Flow で from-to edges / junctions / TAZs を与えると、duarouter が最短・最速経路でルートを生成します。

duarouter(デュアルーター) は、SUMOに入っている ルート自動作成ツール です。

出発点と到着点を決めるだけで、最適な道順を計算してくれます。
標準では「最短時間ルート」を探してくれて、各路線の制限速度を考慮して、遠回りでも早く行けるルートを選びます。
基本的にはシミュレーションスタート時にルーティングしてくれますが、渋滞でスタックしたエッジが発生したりすると、ルートを再計算してくれます(リルート)。
しかし、標準では頻繁にはリルートしてくれないようです。これは計算コストが膨大になるためです。パソコンの性能にもよると思いますが、ネットワークの混雑状況を見て、1分毎にリルートなんてことも出来るのかもしれません。これは私は試したことは無いですが、いつかまたチャレンジしてみたいと思います。


使い分けの目安(超ざっくり)

  • テストで1台だけ:Vehicle(既存ルートを選ぶ/ここでルートを設定) sumo.dlr.de
  • ざっくり“ここ→あそこ”を何台か:Trip(単発)/Flow(まとまった台数) sumo.dlr.de
  • OD表など“エリア間”で発生させたい:Trip/Flow × TAZ(fromTaz/toTaz)

Parent vType(親車両タイプ)

vType(Vehicle Type)の意味


vType(Vehicle Type)とは車の種類 です。
詳しくは次の記事「Typeモード」で詳しく解説しますが、Typeモードであらかじめ設定したものを選びます。まずは、デフォルトで何種類か設定されているのでこれをつかいましょう。

vType には以下のような属性が含まれます:

  • maxSpeed(最高速度)
  • length(車長)
  • accel / decel(加速度・減速度)
  • color(色)
  • emissionClass(排ガスクラス)
    など

デフォルトで選べる vType

画像のリストに出ているのは、SUMOに用意されているデフォルトの設定です:

  • DEFAULT_VEHTYPE → ふつうの乗用車(汎用)
  • DEFAULT_BIKETYPE → 自転車
  • DEFAULT_TAXITYPE → タクシー(呼び出しサービス対応車両)
  • DEFAULT_RAILTYPE → 電車など軌道系
  • DEFAULT_PEDTYPE → 歩行者
  • DEFAULT_CONTAINERTYPE → コンテナ輸送用(物流シミュレーション用)

Internal attributes(内部属性)

基本情報

  • id
    車両やフローの識別名。ユニーク(重複なし)である必要があります。
  • color
    表示色。yellow など色名、または r,g,b 形式でも指定できます。

出発に関する設定

  • departLane
    出発レーンを指定。
    • first:最も左のレーン
    • free:空いているレーン
    • random:ランダムに決定
    • 数値:レーン番号を指定
  • departPos
    出発位置を指定。
    • base:エッジの先頭
    • random:ランダム位置
    • 数値:m単位で指定
  • departSpeed
    出発時の速度。
    • 0:停止からスタート
    • max:可能な最大速度(ただし安全距離や制限速度により下がる場合あり)
    • 数値:任意の速度を設定

到着に関する設定

  • arrivalLane
    到着時のレーン。current(現在のレーンのまま)が標準。
  • arrivalPos
    到着位置。max はエッジの最後。数値指定も可能。
  • arrivalSpeed
    到着時の速度。current(その時点の速度を保持)、0(停止して終了)など。

その他の設定

  • line
    バスやタクシーなど「路線ID」を指定。一般車両では空欄のままでOK。
  • personNumber
    乗車人数。デフォルトは 0。歩行者輸送や公共交通シナリオで使用。
  • containerNumber
    積載するコンテナ数。貨物シミュレーションで利用。
  • departPosLat / arrivalPosLat
    レーン内の横方向位置。
    • center(中央)
    • 数値指定で左右オフセット
  • insertionChecks
    車両を挿入するときの安全チェック。
    • all:衝突を避けるようすべて確認(標準)
    • none:チェックせず強制挿入
  • begin
    発生時刻(秒)。例:0.00 ならシミュレーション開始と同時に発生。

Flow attributes(フロー属性)

1.terminate(終了条件)

どのタイミングで Flow(車両発生の流れ)を終了させるか を決めるための項目です。

1-1. end

  • 「終了時刻」だけで止める(台数は spacing で決まる)。

1-2 number

  • 「台数」だけで止める(時間は関係なし)。
    number=終了台数

1-3 end-number

  • 「終了時刻までに台数を割り振る」=両方指定。
    end=終了時刻、number=終了時刻までに何台投入するか
    投入間隔は end/number で等間隔となります。

2.spacing(投入間隔)

交通シミュレーションで使うフロー(Flow)は、実際の交通量調査データ(1時間あたり交通量)から作ります。
ここでは、その値をどうやって各入力形式に変換すればよいかを説明します。

2-1. vehsPerHour(時速台数を直接入力)

  • 意味:1時間あたり交通量をそのまま台数で入力する方式。
  • vehsPerHourの入力値:1時間当たり交通量の測定値(換算値)をそのまま入れる。
  • :調査で「1時間に1800台」→ vehsPerHour=1800
    👉 最も直感的で簡単。

2-2. period(秒間隔に変換して入力)

  • 意味:車を「何秒ごとに出すか」で指定。
  • Periodの入力値period = 3600 ÷ (1時間あたり交通量)
  • :1時間に1800台 → period = 3600 ÷ 1800 = 2秒ごと
    👉 秒間隔を指定したいときに便利。

2-3. probability(1秒ごとの確率に変換して入力)

  • 意味:各秒に「出るか出ないか」を確率 p で指定。
  • probabilityの入力値probability = (1時間あたり交通量) ÷ 3600
  • :1時間に1800台 → probability = 1800 ÷ 3600 = 0.5
    👉 コイントスのように、ランダムに車を出す。平均的には調査値どおりになる。

2-4. poisson(ポアソン、到着率 λ に変換して入力)

  • 意味:ポアソン過程(平均 λ 台/秒)でランダムに投入。Poisson方式は“1時間あたり交通量”をランダムに分配する仕組みで、少ない交通量ではポアソンらしい大きな揺らぎが見え、多い交通量になると正規分布に近いなめらかな揺らぎになります。
  • poissonの入力値poisson = (1時間あたり交通量) ÷ 3600
  • :1時間に1800台 → poisson = 1800 ÷ 3600 = 0.5(=平均0.5台/秒)。
    👉 現実に近い「ばらつきのある交通流」を表現できる。

Parameters(パラメータ)

  • 用途:追加のパラメータ(key-value 形式)を設定する欄。
  • 「Edit parameters」ボタンを押すと、ユーザー定義のパラメータを追加できます。

👉 つまり「標準属性以外に付け足すオプションを入れる場所」です。あまり、使いません。


Netedit attributes

  • route file
    • 保存時にこの車両やフローが書き出される ルートファイル名(.rou.xml) を指定します。
    • このファイルに、Vehicle や Flow の定義が出力されます。
    • あっているかどうかたまにチェックして下さい。思っていたルートファイルと違うファイルに上書きして、大切なデータを無くさないように。
    • 例:routes.rou.xml に保存 → SUMO 実行時にこのファイルを読み込めばOK。

・Help(ヘルプボタン)

  • このアイコンをクリックすると、NetEditのマニュアルや関連ヘルプにアクセスできます。
  • なにやら英語のかたまりですが、近年の自動翻訳を活用して読んでみて下さい。

Route creator

上部の情報表示

  • Selected edges: 3
    • 現在クリックで選択したエッジ数。出発から到着までに経由するリンク(道路)がカウントされます。
  • Path edges: 7
    • 実際の経路として登録されるエッジ数。途中に補完されたエッジも含まれるので、Selected より多くなることがあります。
  • Length: 335.35
    • ルート全体の長さ(メートル)。
  • Average speed: 17.46
    • 選択した車種(vType)の制限速度を考慮した平均速度(m/s)。
    • おおよそ 17.46m/s(63 km/h) に相当。

Show candidate edges(候補エッジを表示)

  • チェックを入れると、選択中のルートに繋がる候補エッジがハイライト表示されます。
    👉 これにより、次にクリックできる道路が視覚的に分かります。

キーボード操作

  • SHIFT + click: ignore vClass
    • 通常なら vType に合わない道路は選べませんが、強制的に無視して追加。
    • 例:車両 vType が passenger でも、歩行者専用道路を選べる。
  • CTRL + click: force add
    • ネットワーク接続がなくても強制的にエッジをルートに追加。
    • 例:離れた道路を無理やり繋げたいとき。
  • BACKSPACE: undo click
    • 直前に選んだエッジを取り消す(1ステップ戻す)。

Help

ここには現状の選択枝に合わせて、あなたが今すべきことを「お助け」してくれます。
今何をすべきか、自分を見失った時に是非ご参考下さい。

最後に確認

Inspect(I)に戻ってください。
キーボードの 「I」を押せば一発です。もう慣れましたか?

設定した走行車両は、起点にいる車のアイコンをクリックすると、左に属性エディタがでて、内容の確認が出来ます。また、ここで修正も出来ます。


今日は以上でございます。長かったですね。
最後までお付き合いいただき、ありがとうございます。

今日のVehicleは基本中の基本です。

是非しっかりと理解しておいてください。

ではまた。


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

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

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

コメントする

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

上部へスクロール