Eclipse SUMO 1.14.1 のインストール(Windows 上)

SUMO は,さまざまな形態のオブジェクト(車両,公共交通機関,歩行者)の交通シミュレーションを行う.

などの機能がある. 次のアプリから構成される.

先人に感謝

公式ページ: https://www.eclipse.org/sumo/

前準備

Build Tools for Visual Studio 2026 のインストール(Windows 上) [クリックして展開]

Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合、この手順は不要である。

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

--add で追加されるコンポーネント

上記のコマンドでは,まず Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし,次に setup.exe を用いて以下のコンポーネントを追加している。

インストール完了の確認

winget list Microsoft.VisualStudio.BuildTools

上記以外の追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。

Visual Studio の機能を必要とする場合は、追加インストールできる。

Python 3.12 のインストール(Windows 上) [クリックして展開]

以下のいずれかの方法で Python 3.12 をインストールする。Python がインストール済みの場合、この手順は不要である。

方法1:winget によるインストール

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

winget install --scope machine --id Python.Python.3.12 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 Include_pip=1 Include_test=0 Include_launcher=1 InstallLauncherAllUsers=1"

--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動すると PATH が自動的に設定される。

方法2:インストーラーによるインストール

  1. Python 公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンから Windows 用インストーラーをダウンロードする。
  2. ダウンロードしたインストーラーを実行する。
  3. 初期画面の下部に表示される「Add python.exe to PATH」に必ずチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから python コマンドを実行できない。
  4. 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。

インストールの確認

コマンドプロンプトで以下を実行する。

python --version

バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。

Git のインストール(Windows 上) [クリックして展開]

管理者権限コマンドプロンプトで以下を実行する.管理者権限は,winget の --scope machine オプションでシステム全体にインストールするために必要となる.

REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS=""icons,ext\reg\shellhere,assoc,assoc_sh"" /o:PathOption=Cmd /o:CRLFOption=CRLFCommitAsIs /o:BashTerminalOption=MinTTY /o:DefaultBranchOption=main /o:EditorOption=VIM /o:SSHOption=OpenSSH /o:UseCredentialManager=Enabled /o:PerformanceTweaksFSCache=Enabled /o:EnableSymlinks=Disabled /o:EnableFSMonitor=Disabled"

CMakeのインストール(Windows 上) [クリックして展開]

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

REM CMake をシステム領域にインストール
winget install --scope machine --id Kitware.CMake -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/qn /norestart ADD_CMAKE_TO_PATH=System"

Eclipse SUMO のインストール(ソースコードを使用)(Windows 上)

チュートリアルを含む全機能をインストール.

公式サイトで Windows 版のバイナリも配布されているが,そちらを使うと, チュートリアルを使えるようにするのが面倒そうだったので, ソースコードから最新版をインストールする.

  1. 以下の操作を管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

  2. 前提ソフトウエアのダウンロード

    Eclipse SUMO のインストールに必要な前提ソフトウエアがダウンロードされる(ダウンロードしたものは,あとで,Eclipse SUMO のインストールに使用される).

    mkdir c:\Librerias
    cd c:\Librerias
    rmdir /s /q SUMOLibraries
    git clone --recursive https://github.com/DLR-TS/SUMOLibraries
    
  3. Eclipse SUMO のソースコードのダウンロード,ファイルの調整

    ファイルの調整は,インストール時のエラーを回避するためのもの

    cd /d c:%HOMEPATH%
    rmdir /s /q sumo
    git clone --recursive https://github.com/eclipse/sumo
    mkdir %HOMEPATH%\sumo\cmake
    copy c:\Librerias\SUMOLibraries\proj-9.0.0\cmake\proj_config.cmake.in %HOMEPATH%\sumo\cmake
    
  4. インストール
    cd /d c:%HOMEPATH%
    cd sumo
    rmdir /s /q build
    mkdir build
    cd build
    cmake .. -A x64 -T host=x64 -DSUMO_LIBRARIES=c:/Librerias/SUMOLibraries
    cmake --build . --config Release --target INSTALL -- /m:4
    

チュートリアルを動かしてみる(書きかけ)

quickstart

  1. docs\tutorial\quickstart\data のファイルを確認
  2. ノード(節)が記述されたファイル quickstart.node.xml の確認

    nodes タグと node タグを使用

  3. エッジ(枝)が記述されたファイル quickstart.edg.xml の確認

    edges タグと edge タグを使用

  4. ルート(車両等の移動体の経路)が記述されたファイル quickstart.rou.xml の確認

    routes タグ, vType タグ,routeタグ,vehicleタグを使用

  5. コマンドでシミュレーションを実行.

    次のコマンドを実行.

    sumo -c quickstart.sumocfg --netstate-dump quickstart.dump
    
  6. シミュレーション出力ファイルであるquickstart.dumpができる.

    ※ SUMOに付属しているtraceExporter.py を用いて,ファイル変換できる

    次の手順は ns-2/ns-3 形式に変換している例

    sumo -c .\quickstart.sumocfg --fcd-output sumoTrace.xml
    python 'C:\Program Files (x86)\DLR\Sumo\tools\traceExporter.py' --fcd-input .\sumoTrace.xml --ns2mobility-output ns2mobility.tcl
    
  7. sumo-gui -c quickstart.sumocfgを実行
  8. 実行ボタン

ノード(節),エッジ(枝),ルート(車両等の経路),シミュレーション設定ファイルの例

Hello

<nodes>
    <node id="1" x="-250.0" y="0.0" />
    <node id="2" x="+250.0" y="0.0" />
    <node id="3" x="+251.0" y="0.0" />
</nodes>

<edges>
    <edge from="1" id="1to2" to="2" />
    <edge from="2" id="out" to="3" />
</edges>

<routes>
    <vType accel="1.0" decel="5.0" id="Car" length="2.0" maxSpeed="100.0" sigma="0.0" />
    <route id="route0" edges="1to2 out"/>
    <vehicle depart="1" id="veh0" route="route0" type="Car" />
</routes>

<configuration>
    <input>
        <net-file value="hello.net.xml"/>
        <route-files value="hello.rou.xml"/>
    </input>
    <time>
        <begin value="0"/>
        <end value="10000"/>
    </time>
</configuration>

実行

sumo -c quickstart.sumocfg --netstate-dump quickstart.dump
sumo-gui -c quickstart.sumocfg