SUMO概要¶
About¶
"Simulation of Urban MObility" (SUMO) は、オープンソースで微視的かつマルチモーダルな道路交通シミュレーションです。 SUMOは与えられた道路ネットワークにおいて車一台ごとの動きから構成された交通流がどのようなものかシミュレーションすることができます。 シミュレーションでは交通整理に関する広範なトピックを扱うことができます。 SUMOは純粋に微視的です。 自動車は一台ごとに陽にモデル化され、自身の経路を持ち個別にネットワーク内を移動していきます。 シミュレーションは標準で決定的ですが、ランダム性導入のための様々なオプションがあります。
SUMOパッケージをダウンロードしたら、SUMOの他のアプリケーションも含まれていることに注意してください。 これらのアプリケーションはSUMOで使う道路ネットワークや交通需要のデータをインポート/準備するのに使われます。 詳細は#含まれるアプリケーションを参照してください。
「Simulation of Urban MObility」(略称「SUMO」)は、オープンソースの微視的マルチモーダル交通シミュレーションです。 車両一台ずつから成る交通需要が、与えられた道路ネットワーク上をどのように移動するかをシミュレートできます。 このシミュレーションは、広範な交通管理課題の検討を可能にします。 純粋に微視的アプローチを採用しており、各車両が明示的にモデル化され、独自の経路を持ち、ネットワーク内を個別に移動します。 シミュレーションはデフォルトで決定論的ですがランダム性の導入に関する様々なオプションが用意されています。
SUMOパッケージには、SUMO以外にも追加のアプリケーションが含まれています。 これらのアプリケーションは、SUMOで使用するための道路ネットワークや需要データのインポート/準備に使用されます。 より詳細なリストについては付属アプリケーションを参照してください。
機能¶
- 交通シミュレーションの準備と実行に必要な全アプリケーションを包含 (ネットワーク・経路インポート、DUA、シミュレーション)
- シミュレーション
- 連続空間・離散時間の車両移動
- 多様な車両タイプ
- 車線変更可能な複数車線道路
- 様々な優先通行権ルール、信号機
- 高速なOpenGL GUI
- 数万のエッジ(道路)からなるネットワークを管理
- 高速実行(1GHzマシンで最大100,000車両更新/秒)
- 実行時の他アプリケーションとの相互運用性
- 実行時における他アプリケーションとの相互運用性
- ネットワーク全体、エッジベース、車両ベース、検知器ベースの出力
- 人ベースのインターモーダル移動をサポート
- ネットワークインポート
- VISUM、Vissim、シェープファイル、OSM、RoboCup、MATsim、 OpenDRIVE、XML記述のインポート
- 欠損値はヒューリスティックにより決定
- ルート設定
- 微視的ルート - 各車両が独自のルートを持つ
- 様々な動的ユーザー割り当てアルゴリズム
- 高い移植性
- 標準C++と移植性のあるライブラリのみを使用
- Windowsおよび主要Linuxディストリビューション向けパッケージが存在
- XMLデータのみの使用による高い相互運用性
- オープンソース(EPL 2.0)
使用例¶
2001年以降、SUMOパッケージは複数の国内および国際的な研究プロジェクトで利用されてきました。 主な応用例は以下の通りです:
- 交通信号機の評価
- 経路選択と再設定
- 交通監視手法の評価
- 車載通信のシミュレーション
- 交通予測
含まれるアプリケーション¶
本パッケージには以下が含まれます:
| アプリケーション名 | 概要 |
|---|---|
| sumo | 可視化なしの微視的シミュレーション;コマンドラインアプリケーション |
| sumo-gui | グラフィカルユーザーインターフェース付き微視的シミュレーション |
| netconvert | ネットワークインポーターおよびジェネレーター;様々な形式の道路ネットワークを読み込みSUMO形式に変換 |
| netedit | グラフィカルネットワークエディタ |
| netgenerate | SUMOシミュレーション用の抽象ネットワークを生成 |
| duarouter | 様々な需要記述形式をインポートし、ネットワーク上の最速経路を計算。DUA(二項分布モデル)を実行 |
| jtrrouter | 交差点方向転換率を用いた経路計算 |
| dfrouter | 誘導ループ計測値からの経路計算 |
| marouter | マクロ的割当を実施 |
| od2trips | 出入地マトリクスを単一車両の移動に分解 |
| polyconvert | 各種フォーマットの関心地点・ポリゴンをインポートし、sumo-gui で可視化可能な記述に変換 |
| activitygen | モデル化された人口の移動意向に基づく需要を生成 |
| emissionsMap | 排出量マップを生成 |
| emissionsDrivingCycle | 指定された走行サイクルに基づく排出量を計算 |
| 追加ツール | 大規模なアプリケーションを記述する必要がないタスクが存在します。これらのツールは様々な問題に対する複数の解決策をカバーしています。 |
複数の関係者が作業中にSUMOパッケージを拡張し コードを提出しています。これらの貢献は通常テストされておらず、古くなっている可能性があります。全ての貢献のリストはこちらで確認できます。
歴史¶
SUMOの開発は2000年に始まりました。 オープンソースの微視的道路交通シミュレーションを開発した主な理由は、交通研究コミュニティに対し独自のアルゴリズムを実装・評価できるツールを提供するためでした。 このツールは、完全な交通シミュレーションを実現するために必要な全ての要素、例えば道路ネットワーク、需要、交通制御を扱う手法の実装や設定などについては考慮する必要がありません。 このようなツールを提供することでDLRはi)共通のアーキテクチャとモデル基盤を使用することで実装されたアルゴリズムの比較可能性を高め、ii)他の貢献者からの追加的な支援を得ることを目指しました。
ソフトウェア設計基準¶
主要な設計目標は二つありました:高速であること、移植性を持つこと。 このため、最初のバージョンはコマンドラインからのみ実行されるように開発されました——当初はグラフィカルインターフェースは提供されず、全てのパラメータを手動で入力する必要がありました. これにより遅延を招く可視化処理を省略し、実行速度を向上させることが目的でした。 また、これらの目標に基づき、ソフトウェアは複数の部分に分割されあました。 各コンポーネントは特定の目的を持ち、個別に実行する必要があります. この点がSUMOを他のシミュレーションパッケージと異なる点であり、 例えば動的なユーザー割り当てはシミュレーション本体内で実行され、 本ソフトのように外部アプリケーション経由ではない。 この分割によりパッケージ内の各アプリケーションを拡張しやすくなる。 なぜなら各コンポーネントは全てを処理する単一アプリケーションよりも規模が小さいためである。 また、複雑で重荷となるデータ構造を使用する代わりに、現在の目的に合わせて調整された高速なデータ構造を各 で使用することが可能になります。 それでも、このことは他のシミュレーションパッケージと比較して、SUMOの使用を少し不便なものにしています。 まだやるべきことが残っているため、現時点では統合されたアプローチに向けた再設計は考えていません。
貢献者と参加者¶
所属機関 |
氏名 |
担当分野 / 貢献内容 |
|---|---|---|
|
Christian Rössel |
初期微視的シミュレーションコア; 初期検出器実装 |
|
Peter Wagner |
モデル、組織、精神的指導 |
Daniel Krajzewicz |
全般 |
|
Julia Ringel |
信号機 & WAUT アルゴリズム |
|
Eric Nicolay |
全般 |
|
Michael Behrisch |
全般 |
|
Yun-Pang Wang |
利用者割り当て |
|
Danilot Teta Boyom |
車両間通信モデル(ソースから削除済み) |
|
Sascha Krieg |
||
Lena Kalleske |
||
Laura Bieker |
テスト、Pythonスクリプト |
|
Jakob Erdmann |
ネットワークインポート、netedit |
|
Andreas Gaubatz |
||
Maik Drozdzynski |
||
リューベック大学 (Uni Lübeck) |
Axel Wegener |
TraCI 発起人 |
Thimor Bohn |
TraCI |
|
Friedemann Wesner |
TraCI |
|
Felix Brack |
||
Tino Morenz |
||
|
Christoph Sommer |
TraCIとVeinsの統合、サブスクリプションインターフェース、その他 |
David Eckhoff |
TraCI、決定論的シミュレーション動作 |
|
Falko Dressler |
TraCI |
|
Tobias Mayer |
交通モデル抽象化、IDMモデルポート |
|
ベルリン工科大学 (HU Berlin) |
Matthias Heppner |
ユニットテスト |
|
Piotr Woznica |
|
Walter Bamberger |
VANET における信頼シナリオの評価基盤としての activitygen の開発。この作業は、自動車ネットワークにおける信頼性の高い確率的知識処理を特徴とするプロジェクト Fidens: 協調システム間の信頼 の一部です。 |
|
Matthew Fullerton |
||
インド工科大学ボンベイ校 (IIT Bombay, India) |
Ashutosh Bajpai |
randomDepart.py、指数分布によって実際の交通パターンを生成する Python スクリプト。 |
|
Enrico Gueli |
|
Leontios Papaleontiou |
||
|
Karol Stosiek |
ドキュメント作成、ネットワーク構築 |
その他多くの貢献者。



