CARLAは、Unreal Engine上で開発されたオープンソースの自律走行研究シミュレーターです。CARLA は、カメラ、LIDAR、レーダーなどの複数のセンサー シミュレーションをサポートし、市街地図、車両、歩行者などの豊富なデジタル アセットを提供します。CARLAは、複雑な交通シナリオや多知能体の相互作用研究のテストをサポートするように設計されており、学界や産業界で広く使用されています。オープンソースであるため、ユーザーは無償でコードを利用・貢献することができ、自律走行アルゴリズムの開発やテストに適しています。
機能一覧
- センサーシミュレーションRGBカメラ、LIDAR、レーダー、深度センサー、GPSなど、さまざまなセンサーをサポートし、フォトリアリスティックな感覚データを生成します。
- 交通シーンの生成都市、郊外、高速道路などの幅広いマップを提供し、ダイナミックな交通の流れや歩行者の行動シミュレーションをサポート。
- 柔軟なAPIPythonとC++のAPIを使って、車両、歩行者、天候、交通ルールなどのシミュレーション環境を制御します。
- 地図エディタRoadRunnerなどのツールで生成可能なASAM OpenDRIVE規格に基づくカスタムマップ作成に対応。
- シーン録画と再生シミュレーションプロセスを記録し、正確に再生することができます。
- マルチクライアント・アーキテクチャ複数のクライアントをサポートし、異なるインテリジェンスを同時に制御する。
- ROSの統合ROSブリッジを介したロボットOSへのシームレスな接続により、AutoWareなどのフレームワークをサポートします。
- トラフィックマネジメント内蔵されたトラフィックマネージャーがNPC(ノンプレイヤーキャラクター)の行動をコントロールし、実際の交通問題をシミュレートします。
- 物理シミュレーション高精度のビークルダイナミクスとマルチボディダイナミクスシミュレーションをサポートするChronoライブラリの統合。
ヘルプの使用
設置プロセス
CARLAをローカルで使用するには、インストールと環境設定が必要です。以下は、Ubuntuシステム用のインストール手順です。Windowsユーザーは、公式ドキュメントを参照してください。
- システム要件の確認
CARLAはUnreal Engineバージョン4.26または5.5をサポートしています。推奨ハードウェア構成は、Intel i7/i9(第9~11世代)またはAMD Ryzen 7/9、DirectX 11以上をサポートするグラフィックカード、16GB以上のRAM、50GB以上のディスク容量です。 - ダウンロード CARLA
ユーザーは、GitHubからコンパイル済みのパッケージをダウンロードするか、ソース・コンパイルされたパッケージをダウンロードするかを選択できる:- コンパイル済みパッケージ: CARLAの公式ウェブサイト(http://carla.org)またはGitHubのリリースページ(https://github.com/carla-simulator/carla/releases)から最新バージョン(例:0.9.15)をダウンロードしてください。解凍してお使いください。
- ソースコードのコンパイルGitHub リポジトリをクローンする:
git clone -b ue5-dev https://github.com/carla-simulator/carla.git CarlaUE5
アンリアル エンジン 5.5 のリポジトリにアクセスするには、GitHub アカウントを Epic Games と関連付ける必要があります。
- 依存関係のインストール
CARLAのルートディレクトリに移動し、インストールスクリプトを実行します:cd CarlaUE5 sudo -E env GIT_LOCAL_CREDENTIALS=github_username@github_token ./CarlaSetup.sh
Windows ユーザーは、Visual Studio 2022 の x64 Native Tools コマンド プロンプトを使用して同様のコマンドを実行する必要があります。
- 編集:CARLA
CARLAのルートディレクトリで実行する:cmake -G Ninja -S . -B Build --toolchain=$PWD/CMake/Toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_ROS2=ON
コンパイル後
./CarlaUE4.sh
シミュレータを起動します。 - Pythonクライアント・ライブラリのインストール
CARLAはPython APIを提供し、クライアント・ライブラリのインストールを必要とする:pip3 install carla
バージョンの衝突を避けるため、仮想環境にインストールすることをお勧めします。Python 2.7、3.6、3.7、3.8に対応しています。
主要機能の使用
- シミュレータの起動
うごきだす./CarlaUE4.sh -quality-level=epic
(高品質)または-quality-level=low
(ローエンドのハードウェア)。シミュレータが起動し、シティービューが表示され、クライアントが接続するのを待ちます。 - サンプル・スクリプトの実行
CARLAでは、いくつかのPythonサンプルスクリプトがPythonAPI/examples
カタログ例- トラフィックを生み出す走る
python3 generate_traffic.py
シミュレータで動的な車両と歩行者を生成する。 - 手動制御走る
python3 manual_control.py
車両はキーボードとマウスで操作し、WASDキーで移動、マウスで視界を調整する。 - センサーデータ取得走る
python3 03_RGB_camera.py
RGBカメラの画像データを保存したい場合は、RGBカメラで画像データを取得して保存します。
- トラフィックを生み出す走る
- オペレーティング・トラフィック・マネージャー
Traffic ManagerはNPCの行動をコントロールします。例tm = client.get_trafficmanager() tm.set_desired_speed(vehicle, 30.0) # 设置车辆速度为 30 km/h tm.set_percentage_random_left_lanechange(vehicle, 20.0) # 20% 概率随机左换道
NPCの速度や車線変更の挙動などはAPIで設定できる。
- カスタマイズされた地図
RoadRunnerまたはOpenDRIVEで地図を作成できます。地図をCARLAにインポートする:python3 import_map.py --path /path/to/your_map.xodr
その後、エミュレーターで新しいマップをロードする。
- 録画と再生
録音を開始する:client.start_recorder("recording01.log")
再生録音:
client.replay_file("recording01.log", start_time=0.0, duration=60.0)
- ROSの統合
ROSブリッジをインストールする (https://github.com/carla-simulator/ros-bridge):git clone https://github.com/carla-simulator/ros-bridge.git
ROSノードを起動すると、CARLAはAutoWareのようなフレームワークと相互作用できる。
注目の機能操作
- センサー構成Python APIを使って車両にセンサーを追加します。例えば、RGBカメラを追加する:
blueprint_library = world.get_blueprint_library() camera_bp = blueprint_library.find('sensor.camera.rgb') camera = world.spawn_actor(camera_bp, carla.Transform(carla.Location(x=1.5, z=1.4))) camera.listen(lambda image: image.save_to_disk('output/%06d.png' % image.frame))
- 多知能ボディ・シミュレーションマルチクライアントアーキテクチャにより、複数のPythonスクリプトが同時に異なる車両を制御できます。各クライアントはエミュレータポート(デフォルト2000-2002)に接続します。
- クロノ物理シミュレーションクロノライブラリを有効にすることで、車両ダイナミクスがよりリアルになり、車両制御や動的応答の研究に適しています。設定方法は公式ドキュメント(https://carla.readthedocs.io/en/latest/adv_chrono/)を参照してください。
アプリケーションシナリオ
- 自律走行アルゴリズム開発
研究者はCARLAを使って知覚、計画、制御アルゴリズムをテストしている。例えば、ディープラーニングモデルは、LiDARとカメラデータをシミュレートすることで、ターゲット検出とパスプランニングのためにトレーニングされた。 - 交通シナリオテスト
開発者はCARLAで交差点の衝突テストや悪天候時の走行など複雑な交通シナリオを作成し、自律走行システムの堅牢性を検証することができる。 - 教育とトレーニング
大学やトレーニング機関は、自律走行の原理を教えるためにCARLAを使用しています。学生は、Python APIを介して簡単な制御アルゴリズムを実装し、センサーデータの処理と車両制御について学びます。 - マルチインテリジェンス研究
CARLAのマルチクライアント・アーキテクチャは、複数車両の協調運転、車両間のコミュニケーションや競争運転のシミュレーションに適しています。
品質保証
- CARLAはどのOSに対応していますか?
CARLAは公式にUbuntu 18.04と20.04、Windows 7以上をサポートしている。 - コンパイル時に依存関係を解決するには?
すべての依存関係(CMakeやNinjaなど)がインストールされていることを確認する。実行CarlaSetup.sh
このスクリプトは、不足している依存関係を自動的にインストールします。失敗した場合は、公式 FAQ (https://carla.readthedocs.io/en/latest/faq/) を確認してください。 - CARLAはオフラインで使用できますか?
はい、CARLAはオフラインでの実行をサポートしています。コンパイル済みパッケージをダウンロードするか、ソースコードをコンパイルすると、インターネット接続なしでエミュレータとスクリプトを実行できます。 - もっと地図を入手するには?
追加のマップパッケージ(例:Town06、Town07)をダウンロードするか、RoadRunnerを使用してカスタムマップを作成し、OpenDRIVEファイルをCARLAにインポートします。