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

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

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

先人に感謝

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

前準備

Visual Studio 2022 Build Toolsとランタイムのインストール

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。


REM Visual Studio 2022 Build Toolsとランタイムのインストール
winget install --scope machine Microsoft.VisualStudio.2022.BuildTools Microsoft.VCRedist.2015+.x64
set VS_INSTALLER="C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"
REM C++開発ワークロードのインストール
%VS_INSTALLER% modify --installPath %VS_PATH% ^
--add Microsoft.VisualStudio.Workload.VCTools ^
--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ^
--add Microsoft.VisualStudio.Component.Windows11SDK.22621 ^
--includeRecommended --quiet --norestart

Python 3.12 のインストール

インストール済みの場合は実行不要。

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。

REM Python をシステム領域にインストール
winget install --scope machine --id Python.Python.3.12 -e --silent
REM Python のパス設定
set "PYTHON_PATH=C:\Program Files\Python312"
set "PYTHON_SCRIPTS_PATH=C:\Program Files\Python312\Scripts"
echo "%PATH%" | find /i "%PYTHON_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_PATH%" /M >nul
echo "%PATH%" | find /i "%PYTHON_SCRIPTS_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_SCRIPTS_PATH%" /M >nul

関連する外部ページ

Python の公式ページ: https://www.python.org/

AI エディタ Windsurf のインストール

Pythonプログラムの編集・実行には、AI エディタの利用を推奨する。ここでは,Windsurfのインストールを説明する。

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行して、Windsurfをシステム全体にインストールする。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。

winget install --scope machine Codeium.Windsurf -e --silent

関連する外部ページ

Windsurf の公式ページ: https://windsurf.com/

Gitのインストール

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。


REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent
REM Git のパス設定
set "GIT_PATH=C:\Program Files\Git\cmd"
if exist "%GIT_PATH%" (
    echo "%PATH%" | find /i "%GIT_PATH%" >nul
    if errorlevel 1 setx PATH "%PATH%;%GIT_PATH%" /M >nul
)

CMakeのインストール

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。


REM CMake をシステム領域にインストール
winget install --scope machine --id Kitware.CMake -e --silent
REM CMake のパス設定
set "GMAKE_PATH=C:\Program Files\CMake\bin"
if exist "%GMAKE_PATH%" (
    echo "%PATH%" | find /i "%GMAKE_PATH%" >nul
    if errorlevel 1 setx PATH "%PATH%;%GMAKE_PATH%" /M >nul
)

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

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

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

  1. Windows で,管理者権限コマンドプロンプトを起動(手順: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 -G "Visual Studio 17 2022" -A x64 -T host=x64 -DSUMO_LIBRARIES=c:/Librerias/SUMOLibraries ..
    cmake --build . --config RELEASE
    cmake --build . --config RELEASE --target install
    

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

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