Windows10にCarlaをインストールする(ver. 0.9.13)

IT関連

Carlaで遊びたい

先日メインのPCを買い替え、潤沢なストレージ(1TB SSD)と多めのメモリ(64GB)、GPU(RTX3060)が使える環境になったので、それを活かして何かできないか考えました。

もともとディープラーニングの計算をガリガリ回せる最低限の環境をと思って構成したわけですが、せっかく自動運転関係の仕事をしているのに、有名なOSSシミュレータを触っていないなあと思ったので、Carlaでも入れてみることにしました。

これがまたなかなかハマった上に、日本語の情報が古いものが多く、数日を要したので現時点(2020/02/02)で最新版のCarla ver.0.9.13 のWindowsへのインストール方法(ソースファイルからのビルド方法)をまとめます。

これから作業しようと思っている人の助けになれば幸いです。では早速見ていきましょう。

※ 利用するだけならバイナリが配布されているので、それを用いれば簡単と思われます。クライアントAPI以外の機能を盛り込みたい、あるいは無駄に苦労したい方は参考にどうぞ!

【参考: 筆者のPC環境(ここまでのスペックはなくてもOK)】

OSWindows 10
プロセッサIntel Core i7-12700
GPUGeForce RTX3060
RAM64GB

インストール作業手順(概要)

主に以下のサイトを参考に実施しました。

が、2020/2現在、その通りにやってもうまくいかない部分があるので、一連の流れと注意点をまとめます。

【公式ドキュメント】

Windows build - CARLA Simulator

【参考サイト】

Windows で Carla をソースコードからビルドして、インストールする(Build Tools for Visual Studio を利用)
Windows で Carla をソースコードからビルドして、イン&...

https://takenokonosato.sakura.ne.jp/blog/2020/07/25/windows版carla-0-9-9のインストール/

大まかに、やるべき作業は以下の通りです。

  1. 必要なソフトのインストール
  2. Pythonの依存ライブラリインストール(pip使用)
  3. Visual Studio 2019 Community のインストール
  4. Enreal Engine 4.26 のインストール(Carla 専用に改造されたものをビルド)
  5. Carla github リポジトリのクローン
  6. 必要なAssetのダウンロード(リポジトリ内のバッチファイルUpdate.bat使用)
  7. Carla のビルド(必要に応じ、Assetのslnファイルのリビルド実施)
  8. サンプル動作に必要なPythonライブラリインストール

公式ドキュメントと一部異なるのは3. でインストールする追加コンポーネントの種類です。また、Unreal EngineについてはCarla用に修正されたUE4 Ver. 4.26 をソースからビルドしてやる必要があることが注意点として挙げられます。

このリポジトリにアクセスするには、@EpicGames のgithubチームに参加しないといけないため、これも初見だと戸惑う部分かと思います。

さて、以下インストール作業の詳細をまとめます。

インストール作業詳細

主に公式ドキュメントに従って進めます。

1. 必要なソフトのインストール

2. Python のライブラリインストール(pip使用)

python で以下のpipコマンド実行

pip3 install --upgrade pip

pip3 install --user setuptools
pip3 install --user wheel

3. Visual Studio 2019 Community / C++ Build Tools のインストール

指定されているもののほかにもいくつか必要なコンポーネントがあったので、問題なくビルドできたときのものを列挙します。

足りていない場合は、Visual Studio Installerを起動し、Visual Studio Community 2019の「変更」ボタンをクリックして追加すればOKです

  1. C++ によるデスクトップ開発にチェック

2. オプションとして、下記にチェックを入れる

※ 基本的に、下記に従ってインストール。

https://www.kkaneko.jp/db/man.html#vs2019inst

ただし、一部公式ドキュメントとも上記リンク先のページとも異なる部分があるので明記しておく

  • Windows 8.1SDK が項目にないので、 Windows 10 SDK を選択(これで問題ない)
  • .NET Framework 4.6.1 SDK, Targeting Pack の二つにもチェックを入れる必要がある(Unreal Engine のビルドに必要)

C++ Build Tools についても、上記URLに従ってインストールすればOK。

Carla用 Unreal Engine 4.26 のビルド / インストール

公式ドキュメントでも書かれてはいますが、以下の作業を行い、Carla用に修正されたUnreal Engine のソースを入手します。

【参考】 https://www.unrealengine.com/en-US/ue4-on-github?sessionInvalidated=true

  1. 上記URLに従い、自分のEpic GamesのアカウントとGithubのアカウントを連携する
  2. 正しく連携できると、Epic Gamesから@EpicGame の組織に招待されたというメールが届くので、これに参加する(Join @EpicGames をクリック)。

3. https://github.com/CarlaUnreal/UnrealEngine へアクセスできるようになるので、このリポジトリをダウンロード(2. の手順を実施していないと、このリポジトリにそもそもアクセスできない)

公式ドキュメントに従って、コマンドプロンプトでダウンロードしてもOK

git clone --depth 1 -b carla <https://github.com/CarlaUnreal/UnrealEngine.git> .

4. クローンしたディレクトリで、以下のスクリプトを実行

Setup.bat
GenerateProjectFiles.bat

5. Visual Studio 2019 で UE4.sln をビルド

(i) UE4.sln をVisual Studio 2019 で開く (右クリックでプログラムから開く → Visual Studio 2019 でOK)

(ii) 画面上部のBuild Bar で 「Development Editor」「Win64」「UnrealBuildTool」 を選択

(iii) 画面右側ソリューションエクスプローラーにて、Engineフォルダ内の「UE4」で右クリックし、「ビルド」を選択

正しくビルドできると、Engine/Binaries/Win64/UE4Editor.exe が生成される。

ダブルクリックでUnreal Editorが立ち上がると公式ドキュメントには書かれているが、自分の環境では一部プラグインが見つからないと警告が出て立ち上がらない(後ほどCarlaのビルド時に行う make launch でUnreal Editorは立ち上がるので、特に問題はないと思われる)

Unreal Engine のビルドについては以下も参考になる。

Building Unreal Engine from Source
Compiling Unreal Engine from source.

5. Carla Github リポジトリのクローン

以下のリポジトリをダウンロードすればOK

GitHub - carla-simulator/carla: Open-source simulator for autonomous driving research.
Open-source simulator for autonomous driving research. - GitHub - carla-simulator/carla: Open-source simulator for autonomous driving research.

バージョンを指定は、左上のmasterをクリック後、Tagsのタブを選択し、0.9.13とすればよい。

コマンドで実施する場合は以下

git clone <https://github.com/carla-simulator/carla>
git checkout refs/tags/0.9.13 # バージョン切り替え

6. 必要なAsset のダウンロード

ダウンロードしたリポジトリのトップディレクトリに Update.bat があるので、これを実行する。

なお、Assetのサイズは10GB以上あるため、環境によってはかなり時間がかかる。

自分でAssetをダウンロードし、~/carla/Unreal/CarlaUE4/Content/Carla に展開するという方法もあるが、Update.batを使う方法が一番確実と思われる。

7. Carlaのビルド

  1. 「設定」→「システム」→「詳細情報」→ 「システムの詳細設定」→ 「環境変数」から、次の変数を設定する(システム環境変数)

2. UE4_ROOTを、自分がUnreal Engine リポジトリをダウンロードしたフォルダに指定する(筆者の場合はC:\tools\UR4Carla にダウンロードしたためこのように設定。以下のようなイメージ)

2. x64 Native Tools Command Prompt for VS 2019 を起動し、Carlaのリポジトリで以下のコマンドを実行(サーバーのビルド)。

make launch

これでビルドができるが、うまくいかない場合がある。その場合は、carla/Unreal/CarlaUE4 にある、CarlaUE4.sln をVisual Studio 2019で開き、ソリューションのリビルドを行うことで解決できる場合がある。

ソリューションエクスプローラーの右上、ソリューション “CarlaUE4”の上で右クリックし、「ソリューションのリビルド」をクリックする。

72プロジェクトをビルドするので数時間かかるが、基本的にうまくリビルドできるはずである。

これが終われば、再度make launch を実施してみる。ソリューションのリビルドがうまくできていれば問題なくビルドできるはずである(これも数時間かかる)。

3. PythonAPIのビルドを行う。これはサーバーのビルドと同じく x64 Native Tools Command Prompt for VS 2019 で 以下のコマンドを実行する。

make PythonAPI

ここまででビルド作業は終了です。お疲れさまでした。

残りはサンプルのシミュレーション実行方法について説明します。

サンプルコードを動かす

基本的な流れは次のとおりである。

  1. サーバーを起動し、Unreal Editorを立ち上げる(make launch)。
  2. 立ち上げたUnreal Editorで、シミュレーションを開始する。
  3. 別のコマンドプロンプトを起動し、そこからexampleディレクトリ以下のサンプルスクリプトを実行する。
  • Unreal Editorの起動は、x64 Native Tools Command Prompt for VS 2019 でcarlaのフォルダ上に移動し、make launchを実行すればよい(直接Unreal Engineのexeを起動しようとすると筆者の環境では失敗する。また、画像では管理者権限で実行しているがその必要はないので注意)
  • シミュレーションの開始はPlayボタンをクリックすればOK
  • Pythonのスクリプトは通常のコマンドプロンプトから実行してもOK

この際、依存関係のあるライブラリをインストールする必要があるので注意。

例えば、automatic_control.pyを動かそうとしてみると、以下のようshapelyモジュールが存在しないと怒られる。

そこで、carla/PythonAPI/carla/Requirements.txt を見ると

networkx
numpy; python_version < “3.0”
numpy==1.18.4; python_version ≥ “3.0”
distro
Shapely==1.6.4.post2

と書かれているため、それぞれをインストールする。

cd (path to carla repo)/carla/PythonAPI/examples
pip install -r requirements.txt

※ 公式ドキュメントにも記載あり

Quick start package installation - CARLA Simulator
PyGame scene runs very slow fps · Issue #3654 · carla-simulator/carla
Hello, everyone, I am trying to run Carla at Ubuntu 18.04 with Nvidia 2070 Graphics card. Currently, I am at the beginning and I have tried to run examples such...

ただし、上記のうち、Shapelyだけは単にpip installでインストールできないので注意。

下記を参考に、.whlをダウンロードし、同じフォルダでpip install Shaply….whlとすることでインストールできる。

Shapely インストル時にerrorが発生した件 - Qiita
#####Window 10にpythonのshapely ライブラリーをpip install時に下記のようなエラーが表示された:Collecting shapely  Downloading…

なお、自分の環境では、Pyhton 3.9.9を用いていたので、対応する.whlとして

Shapely‑1.8.0‑cp39‑cp39‑win_amd64.whl をダウンロードし、

pip install Shapely‑1.8.0‑cp39‑cp39‑win_amd64.whl とした。

うまくシミュレーションが動くと、pygameのウィンドウが立ち上がり、自動運転が開始される。

シミュレーションのFPSが出ない場合

GPU積んでるはずなのに3FPSとかしか出ない場合がある。

この場合は、Unreal Editor上部の「編集」タブから、「エディタの環境設定」をクリックし、「パフォーマンス」の項目から、「バックグラウンドでの処理により少ないCPUを使用」のチェックを外します。公式ドキュメントのF.A.Qにも項目があります。

F.A.Q. - CARLA Simulator

Unreal Editor初回起動時の注意

  • シェーダーのコンパイルが終わるまで、CPUの使用率が100%に近くなる
  • それが終わり、「プレイ」を押した場合でもシェーダーのコンパイルが走る。これも待つ必要がある(約30分程度かかる)
  • 以上が終わると、負荷はそこまでかからなくなる。
  • ただし、Unreal Editorが占有するメモリ量は7GB程度あるので注意

まとめ

今回はWindows10にCarla 0.9.13 をソースからインストールする方法について述べました。

ぼちぼち自動運転のシミュレーションを回して知見をためていきたいところですねー

コメント

タイトルとURLをコピーしました