CARLAを動かしてみました

非常に唐突の更新です。

末端ながら自動車業界でADASと言われる自動運転的な領域でお仕事している身として、CARLAは少しくらい触れておいた方が良いんじゃないか思い、自宅のPCにインストールしてみましたので手順を残しておきます。

ちなみにWindowsでの手順となります。

スポンサーリンク

CARLAとは?

「CARLA」とは、自動運転シミュレータの名称であり、開発者が自動運転技術を習得するために使用されます。CARLAは、現実世界の道路環境を再現し、様々な自動運転シナリオをシミュレートすることができます。CARLAは、オープンソースであり、PythonやROSなどの多くのプログラミング言語と統合されています。

Bing AI Chatより引用

自動車業界ではこういったシミュレータを活用して実際にクルマを走らせることなく自動運転の技術を開発しております。CARLAはでもオープンソースでフリーで使えるということで結構使われているようです。(職場では使ってないけど・・・)

お手軽なQuickStartPackage版と大変なフルビルド版

CARLAの導入には以下の2つの方法があります。

  • クイックスタートパッケージを利用する
  • ソースコードや諸々のライブラリを入手して自分でビルドする

クイックパッケージ版を使えば必要なファイルをダウンロードするだけですぐにCARLAが使用できますが、自分でビルドするとなるとソースコードの入手、UnrealEngineのダウンロード、諸々のダウンロードなどで環境を準備するだけで結構大変みたいです。

じゃあ、両者で何が違うのかというところですが

  • UnrealEngineを利用したマップのカスタマイズなどができない

が大きいのかな。たぶん特定の道路をUnrealEngineで作ったりする場合はフルビルドしないとダメなんだと思いますが、今回はそもそもCARLAとはどんなものなのかという概要を掴むということが目的なので、まずはクイックスタートパッケージを入れてみたいと思います。

公式リファレンス

公式リファレンスは以下のページにあります。

Quick start package installation - CARLA Simulator

これ以降の手順はこのリファレンスを参考に実施しました。

インストールしたPCのスペック

インストールしたPCのスペックは以下の通りです。10年くらい前の若干化石感のあるCPUですが、グラボは壊れた都合により買い替えたのでギリギリスペックは満たせている。。。はず。。。

OSWindows11
CPCIntel Core i7-4770 CPU 3.40GHz
メモリ16GB
グラフィックカードGeForce GTX 1070 AERO 8G OC

事前準備

事前準備としては

  • Pythonのインストール
  • TCPポートの解放
  • Visual C++ランタイム

が必要です。

Pythonのインストール

CARLAを動かすにはPythonが必須なのであらかじめインストールしておきます。

(昔々に書いたPythonインストール方法置いておきます)

注意点ですが、CARLAが動作するPythonのバージョンは下記のいずれかです。(2023/09現在)

  • 2.7
  • 3.7
  • 3.8

これ以外のバージョンでは動作しません。3.9以降の新しいバージョンでもダメです。

対応バージョンは今後変わってくると思いますが指定されたバージョンでしか動かないということは変わらないと思いますので、既にPythonをインストールされている方も対応バージョン以外のPythonしか入っていない場合は対応バージョンのPythonを入れてください。

インストール進めてた時はPython3.9しか入ってなかったのでpipでcarlaをインストールするときに詰まりました(‘_’)

ここではPython3.8を入れた前提で以降は進めます。

TCPポートの解放

スタート→すべてのアプリ→Windowsセキュリティ→ファイアウォールとネットワーク保護→詳細設定とクリックしていくとファイアウォールの設定画面が表示できるので、TCPポートの2000、2001番を解放します。

Visual C++ランタイムをインストール

MicrosoftのページからVisual C++ランタイムをダウンロードしてインストールします。

インストールから起動まで

CARLAのダウンロードから起動までの手順を見ていきます。

パッケージのインストール

GitHubにアクセスしてパッケージをダウンロードします。

carla/Docs/download.md at master · carla-simulator/carla (github.com)

2023/09時点の最新バージョン0.9.14を選択しました。

CARLA本体と追加マップを両方ダウンロード

CARLAを適当なフォルダに解凍して、AdditionalMapsの中身をその中に放り込んで上書きします。

ライブラリのインストール

必要なPythonのライブラリを入れてきます。不要なライブラリなどが入っているとおかしなことになる可能性があるのでCARLA用に仮想環境を準備したほうがよさそうです。

まず適当なフォルダに仮想環境を作成。

作成した仮想環境をアクティベート

pygame、numpy、carlaを順にインストール

CARLA起動

インストールしたパッケージ内にCarlaUE4.exeがあるので、それをコマンドプロンプトから起動します。

起動中にファイアウォールのセキュリティ画面出てくるのでアクセスを許可します。

しばらくすると立ち上がります。(自分の環境だと5分くらいかかった)

画面はキーボードのWASDを押すと動きます。またマウス操作でカメラをぐりぐりできます。

ただ、この状態はサーバーが起動しただけなので何も動いていません。

町の人々や車を動かすためにPythonのAPIを使ってサーバーにコマンドを送る必要があります。

パッケージの中にサンプルのコードが用意されているのでそいつを呼び出してみます。

その前準備としてPythonAPI/examples/requirements.txtに記載されているライブラリをインストールします。コマンドプロンプトでPython/examplesフォルダに移動し、以下のコマンドを実行します。

pip install -r requirements.txt

インストールが完了したらgenerate_traffic.pyを実行します。

そうするとこんな感じで車や歩行者が動き出します。

町が動き出したので自分で車を運転してみます。

別のコマンドウィンドウを起動し、PythonAPI/examplesにあるmanual_control.pyを実行します。

別のウインドウが起動して車を運転することができます。別ウインドウになっていますが動いている世界は一緒です。

実はどんなことができるのか実はちゃんとわかってないので色々動かしてみて試してみたいと思います。

自分のPCだと一応動きましたがファン全開になるので軽量化オプションONで起動したほうが良さそう。

↓のように起動すると低クオリティの映像になって軽くなります。

コメント

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