CARLAシミュレータの導入

Image from Gyazo

CARLA

近年,研究が急速に進む 自動運転車(Autonomous Car) のシミュレータの一つである CARLA Simulatorの導入に関して解説します. このCARLAはオープンソースとして開発されており, 自動運転車の実現に必須の,LiDAR(Light Detection and Ranging)多視点カメラ深度カメラ などのセンサー群を利用することができます. この他にも,マップの自動生成や,交通シナリオの作成など,シミュレータに必要な要素も含まれています. このCARLAは,Alexey Dosovitskiy 氏らによって開発され, 2017年に Robot Learning の国際会議において,「CARLA: An Open Urban Driving Simulator」というタイトルで論文も発表されています.

CARLAの導入

CARLAの導入はとても簡単で,Githubで公開されているビルドされたパッケージをダウンロードするだけです. 現時点(2019年8月)では,最新版は 0.9.6 ですが,ここでは安定版の 0.8.2 を利用することにします.

CARLA 0.8.2(stable)

ダウンロードしたファイルを解凍すると, CarlaUE4.exe というウィンドウズ用の実行ファイルがあります. これをダブルクリックすると,シミュレータが全画面表示されます(スタンドアロン・モード). 画面左には,速度(Speed)やギア(Gear)などの情報が表示されていることがわかります.

Image from Gyazo

この画面では,キーボードで車両を操作することができます(操作一覧も参照のこと). キーボードで操作するのはとても難しく,ぎこちない運転になってしまうので,オートパイロット を試してみると良いです.

キー操作
Wアクセル
Aステアリング(左)
Sブレーキ
Dステアリング(右)
Qギアチェンジ
Pオートパイロット

Pythonクライアントの接続

Python から,CARLAに接続し,環境をコントロールすることができます. Pythonのバージョン 3.5 の利用が推奨されており,最新の 3.7 ではエラーにより動作しませんでした. また,CARLAは 2000番2001番2002番 のポートを利用するため, ファイアウォールの設定を修正して,ポートを空けておく必要があることに注意しましょう. まずは,実行に必要なライブラリを pip コマンドで導入します( numpypygame などが含まれる).

% pip install -r PythonClient/requirements.txt

次に,CARLAをサーバとして起動します(サーバ・モード). 引数に -carla-server を設定すればOKです.

% CarlaUE4.exe -carla-server

それでは,Pythonクライアントを接続します. ここでは,パッケージに含まれている client_example.pyオートパイロット の状態で実行します.

% python client_example.py --autopilot

実行すると,エピソード(走行環境)を切り替えながら, オートパイロットで車両が走行をスタートします.

センサーデータの保存

シミュレータ内でセンサーが取得したデータを保存します. ここでは,RGBカメラ深度カメラ, LiDAR のデータを出力することにします.

py -3.5 client_example.py --autopilot --lidar --images-to-disk

出力されたデータは _out フォルダに保存されます. RGBカメラと深度カメラは PNG形式, LiDARは PLY形式 となっています. PLY形式のファイルはOnline LIDAR point cloud viewerで可視化できます.

Image from Gyazo

Image from Gyazo

Image from Gyazo