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

スポンサーリンク