Carla のインストール(ソースコードを用いたインストール)(Build Tools for Visual Studio,cmake を使用)(Windows 上)

Carla は,自動運転用のシミュレータ. オープンソースである.

Carla のドキュメント: https://carla.readthedocs.io/en/latest

Carla の Windows 版,Linux 版は, https://github.com/carla-simulator/carla/blob/master/Docs/download.md からダウンロードできる.

このページでは,Carla をソースコードからビルドする.その手順は,次のページによる.

https://carla.readthedocs.io/en/latest/build_windows/

前準備

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"

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

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

REM 7-Zip をシステム領域にインストール
winget install --scope machine --id 7zip.7zip -e --silent --installer-type msi --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/qn /norestart"
REM 7-Zip のパス設定
powershell -NoProfile -Command "$p='C:\Program Files\7-Zip'; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and $c -notlike \"*$p*\"){[Environment]::SetEnvironmentVariable('Path',\"$p;$c\",'Machine')}"

Build Tools for Visual Studio 2022 のインストール(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 --id Microsoft.VisualStudio.2022.BuildTools --accept-source-agreements --accept-package-agreements ^
    --override "--passive --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.ClangCL --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

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

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

インストール完了の確認

winget list Microsoft.VisualStudio.2022.BuildTools

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

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

Carla のインストール(Windows 上)

Unreal Engine 4 のインストール

Unreal Engine 4 のインストールは,「別資料」で説明している.

Carla のインストール手順

  1. Windowsシステム環境変数 UE4_ROOT の設定

    C:\Program Files\Epic Games\UE_4.24 に設定

    「4.24」のところは,実際のディレクトリに一致させること.

  2. Windowsシステム環境変数 TOOLSET の設定

    msvc-16 に設定

  3. Windowsシステム環境変数 LIB の設定

    C:\boost\lib に設定

  4. Carla のソースコードのダウンロード
    mkdir c:\tools
    rmdir /s /q carla
    git clone https://github.com/carla-simulator/carla
    
  5. アセットのダウンロードのために,ファイルIDを確認

    最新版のファイルのファイルIDを確認する.

    cd carla
    cd Util
    type ContentVersions.txt
    
  6. アセットのダウンロード

    20210730_564bcdc」のところは,いま確認したファイルのファイルIDに一致させること.

    cd c:/tools
    curl -O  http://carla-assets.s3.amazonaws.com/20210730_564bcdc.tar.gz
  7. ダウンロード終了の確認

    エラーメッセージが出ていないこと.

  8. ダウンロードが終わったら,展開(解凍)する
    Windows での展開(解凍)のためのソフトには,「7-Zip」などがある.
    cd c:/tools
    "c:\Program Files\7-Zip\7z.exe" x 20210730_564bcdc.tar.gz
    
  9. いま展開(解凍)したアセットは,所定のディレクトリに置く.
    cd c:\tools\carla
    cd 20210730_564bcdc
    cd Unreal\CarlaUE4
    mkdir Content
    cd Content
    mkdir Carla
    "c:\Program Files\7-Zip\7z.exe" x c:\tools\20200422_ea5179a.tar
    
  10. ファイル(4つ)を書き換え
    • Util\BuildTools\BuildLibCarla.bat
    • Uitl\InstallersWin\install_gtest.bat
    • Uitl\InstallersWin\install_recast.bat
    • Uitl\InstallersWin\install_rpclib.bat

    上の4つのファイルについて, 「-G VisualStudio 15 2017 Win64」を, 「-G VisualStudio 16 2019」に書き換え

  11. make launch の実行
    cd ..
    make launch
    

    これは,サーバをビルドし,Unreal Engine を起動する.

  12. PythonAPI のインストール
    make PythonAPI
    cd PythonAPI/examples
    python spawn_npc.py