SUMOによるモビリティモデルの作成Traffic simulation with SUMO

SUMO(Simulation of Urban Mobility)は、車のトラフィックシミュレーションを行うためのオープンソースパッケージです。

道路の形状や長さ、車の数や動きなどを自分で定義でき、自由度の高いシミュレーションを行えるのがSUMOの特徴です。
またSUMOでは、シミュレーションを行った結果を、ns-3など他のシミュレータで読み込めるモビリティモデルとして利用できます。
実際に私もSUMOで作成したモビリティモデルをns-3で読み込み,車々間・路車間通信のシミュレーションに利用しています。特に、道路が渋滞の場合と空いている場合での通信量の比較、といったシミュレーションを行う場合に、交通量の変更が簡単なSUMOは非常に便利です。

今回は、SUMOをインストールし、簡単なシミュレーションを行うまでのプロセスを紹介します。
※OSはUbuntu12.04の場合

インストール

SUMOは、Windows、MacOS、Linuxなど大抵のOS上で動かすことができます。
今回はUbuntu12.04の場合を示しますが、OSによってインストールの方法は異なるため、それ以外のOSでのインストール方法はSUMOのチュートリアルページを参考にしていただければと思います。

Installing – SUMO – Simulation of Urban Mobility(開発元ページ)
Installing SUMO with gui on Ubuntu 12.04

まずは、SUMOのtarballを開発元のページからダウンロードし、展開します。
(インストールしたバージョンは0.16.0)
※追記:投稿時点での最新版である0.17.1でも同様の手順でインストール可能であることを確認しました。

ここで、SUMOをGUIで動かすために必要なパッケージをインストールしておきます。

SUMOのインストールを行います。

インストール後、コマンドラインから

もしくは

が実行できれば、インストールは完了です。

チュートリアルシナリオの実行

ここでは、動作確認も兼ねて予め用意されているチュートリアルシナリオを実行してみます。
まず、チュートリアル用のファイルが置かれているディレクトリまで移動します。

このディレクトリには以下のファイルが置かれています。

quickstart.*.xmlで表されるファイルが、シミュレーションの定義ファイルです。
SUMOでは、 道路の構成や車の動きなどを、すべてこれらのxml形式のファイルで定義します。
これらのファイルの詳細や定義方法については、後日別の記事にて説明したいと思います。

それでは、シミュレーションを実行してみます。

quickstart.sumocfgは、シミュレーション用の設定ファイルです。
シミュレーション実行時にこの設定ファイルを読み込み、quickstart.dumpに結果を出力します。

出力ファイルの中身は、以下のようになっています。(一部抜粋)

ある時刻における、車の位置や速度が記述されているのがわかると思います。
この出力ファイルは、SUMOに付属しているtraceExporterなどのツールを用いることで、ns-3で読み込める形式のファイルに変換することができます。その方法についても、後日紹介します。

続いて、GUIモードで動かしてみます。

以下のような実行画面が表示されます。

sumo-gui1

画面上部、緑のスタートボタンを押すとシミュレーションが開始されます。

sumo-gui2

表示を拡大することで、車がどのような挙動を示すのか、目で見て確かめることが可能です。

今回はSUMOのインストールから、チュートリアルシミュレーションの実行までを行いました。
本文中でも述べましたが、定義ファイルの記述方法やns-3との連携などについては、次回以降の記事で触れたいと思います。

By Tsubasa TERAMOTO