##はじめに
LG電子さんが作ったフリーの自動運転用シミュレータ ”LGSVL SIMULATOR” を使ってみました。他のシミュレータを使ったことないので比較できませんが、ビジュアルのクオリティがすごいです。実行ファイル版は本当にダウンロードするだけなので、特に解説するようなことはないのですが、備忘録的な意味も込めて書き残しておきます。
なお、他のソフトウェアと連携すると威力を発揮するこのシミュレータですが、この記事はそこまでカバーしていません。悪しからず。。。
公式サイト
https://www.lgsvlsimulator.com/
公式ドキュメント(基本はここにある情報です)
https://www.lgsvlsimulator.com/docs/
欠落している情報もありますが、随時情報追加していこうと思います。
###推奨環境
公式ドキュメントより
4 GHz Quad core CPU
Nvidia GTX 1080 (8GB memory)
Windows 10 64 Bit
推奨環境にWindowsとありますが、Linuxでもちゃんと使えます。
##インストール ~ シミュレータ起動まで
###Windows版
Download for Windowsを押すか、横の▼プルダウンからOSにあったファイルをダウンロードします。
zipファイルを好きなところに解凍して、「simulator.exe」をクリックします。
すると、セットアップ画面が出てくるので、画質などを選び、[ Play! ] を押します。
こんな画面が出てくるので、[Open Browser...] を押します。
ログインを促されるので、ログインします。アカウントのない人は作りませう。
ログインすると、この画面(WebUIと言います)になります。
[Simulations]タブをクリックします。
ここでプロジェクト的なものを選択すると、下の方に▶再生ボタンが出てくるので、クリックします。
すると、プロジェクトのステータスが"Running"になって、下の方の▶が■になるはずです。
シミュレータに戻ると、下の画像のようなシミュレータの世界が表示されてます。
とりあえずこれでインストール完了です。
###Linux版(ほとんどWindowsと同じ)
確認した環境はUbuntu16.04です。
公式サイトで、[Download for Linux]を押すか、横の▼プルダウンからLinux版ファイルをダウンロードします。
ダウンロードしたzipファイルを好きなところに解凍して、実行ファイルをクリックします。
この画面が表示されたら、画質などを選択して[OK]をクリックします。
以降の操作はWindowsと同じです。
###シミュレーションが開始されない場合
初めて使うVehicleの場合、こんな風にステータスがInvaildになってシミュレーションが開始されないみたいです。
エラーメッセージにあるとおり、アセットバンドルとやらを最新バージョンに更新しましょう。
[VEHICLES]のページで、使う車を選択して、"AssetBundle"を右クリックしてリンクをコピーします。
シミュレータのWebUIに戻って、[Vehicles]タブをクリックし、使いたい車の設定(鉛筆のマーク)を開きます。
すると、こんなウィンドウが出てくるので、下のテキストボックスにさっきコピーしたリンクを貼り付けて、[Submit]をクリックします。
ダウンロードが完了して、ステータスが"Valid"になれば完了です。
もう一度[Simurations]タブに戻って、シミュレーションを実行しましょう。
正常に実行できたときは、ステータスが"Running"になって、下の方の▶が■になるはずです。
##シミュレーション画面説明
###基本操作
シミュレーション開始直後の画面から説明していきましょう。
- メニューアイコン
- 再生・一時停止ボタン(インタラクティブモードのみ)
- センサメニュー
- インタラクティブメニュー(インタラクティブモードのみ)
- ブリッジメニュー
- コントロールメニュー
- インフォメーションメニュー
- カメラモード切り替え
- 車両切り替え
以下に、よく使う(かもしれない)メニューについて説明します。
###3. センサーメニュー
ここでは、各センサーの表示/非表示を切り替えることができます。
あくまで画面に出すか否かの選択なので、センサデータ自体は常に生成されています。
###4. インタラクティブメニュー
シミュレータの実行中に、環境のパラメータを変更することができます。
下の画像では、曇らせたり雨を降らせたりしています。
NPC(Non Player Car)のON/OFFもできます。
ちなみにここで変更できるパラメータは、シミュレーションの初期設定で決められるものなので、インタラクティブモードでないときはそっちで決めておくこともできます。
###5. ブリッジメニュー
ここでは生成されているセンサデータの情報が一部表示されています。
###6. コントロールメニュー
ここには、車の操作などに使うキーボード・ショートカットが記述されています。
よく使うショートカットはここにも書いておきます。
アクセル:↑
ブレーキ:↓
ステアリング:←/→
前進ギヤ:PageUp
後退ギヤ:PageDown
スタート地点にリセット:F12
ヘッドライトON/OFF:H
カメラズーム:W/S
##搭載センサ設定
ここでは、車に搭載するセンサのスペックや個数・位置を設定する方法を説明します。
[Vehicles]タブをクリックし、センサをいじりたい車の編集(スパナのマーク)を開きます。
すると、画像のような大きなテキストボックスが表れるので、ここにセンサの設定を記入していきます。
このテキストはJSON形式で書かれていて、いろいろとお作法があるので、公式ドキュメントの記入例を参考にしてください。
該当ページ → https://www.lgsvlsimulator.com/docs/sensor-json-options/
試しに、カメラを4方向に向けて搭載し、全方位カメラみたいにしてみました。
このときのJSON記入例です。
[{
"type": "Color Camera",
"name": "Main Camera1",
"params": {
"Width": 1920,
"Height": 1080,
"Frequency": 15,
"JpegQuality": 75,
"FieldOfView": 50,
"MinDistance": 0.1,
"MaxDistance": 1000,
"Topic": "/simulator/main_camera_1",
"Frame": "camera",
"Distorted": true,
"DistortionParameters": [-0.25349, 0.11868, 0, 0]
},
"transform": {
"x": 0,
"y": 1.7,
"z": -0.2,
"pitch": 0,
"yaw": 0,
"roll": 0
}
},
{
"type": "Color Camera",
"name": "Main Camera2",
"params": {
"Width": 1920,
"Height": 1080,
"Frequency": 15,
"JpegQuality": 75,
"FieldOfView": 50,
"MinDistance": 0.1,
"MaxDistance": 1000,
"Topic": "/simulator/main_camera_2",
"Frame": "camera",
"Distorted": true,
"DistortionParameters": [-0.25349, 0.11868, 0, 0]
},
"transform": {
"x": 0,
"y": 1.7,
"z": -0.2,
"pitch": 0,
"yaw": 90,
"roll": 0
}
},
{
"type": "Color Camera",
"name": "Main Camera3",
"params": {
"Width": 1920,
"Height": 1080,
"Frequency": 15,
"JpegQuality": 75,
"FieldOfView": 50,
"MinDistance": 0.1,
"MaxDistance": 1000,
"Topic": "/simulator/main_camera_3",
"Frame": "camera",
"Distorted": true,
"DistortionParameters": [-0.25349, 0.11868, 0, 0]
},
"transform": {
"x": 0,
"y": 1.7,
"z": -0.2,
"pitch": 0,
"yaw": 180,
"roll": 0
}
},
{
"type": "Color Camera",
"name": "Main Camera4",
"params": {
"Width": 1920,
"Height": 1080,
"Frequency": 15,
"JpegQuality": 75,
"FieldOfView": 50,
"MinDistance": 0.1,
"MaxDistance": 1000,
"Topic": "/simulator/main_camera_4",
"Frame": "camera",
"Distorted": true,
"DistortionParameters": [-0.25349, 0.11868, 0, 0]
},
"transform": {
"x": 0,
"y": 1.7,
"z": -0.2,
"pitch": 0,
"yaw": 270,
"roll": 0
}
},
{
"type": "Keyboard Control",
"name": "Keyboard Car Control"
},
{
"type": "Wheel Control",
"name": "Wheel Car Control"
},
{
"type": "Vehicle Control",
"name": "Autoware Car Control",
"params": {
"Topic": "/vehicle_cmd"
}
}]
最後の方に書いてある"Keyboard Control"は消すと車を操作できなくなるので消さないように。
##最後に
ここまでだとただのドライブシミュレータですが、他のソフトウェアと連携することで、自動運転のシミュレーションができるようになります。が、記事が長くなるので、それはまた別の記事で。。。
あと、ソースビルド版もあります。こっちを使えば、シミュレータの中もいろいろいじれるらしいです。
こちらもいずれ記事にするつもりです。
このページは以上です。