Apolloのインストール方法
この記事を参照。
www.eureka-moments-blog.com
Apolloを起動する
SVL Simulatorと連携するための下記コマンドで起動。
$ ./scripts/bootstrap_lgsvl.sh
こうなったら起動完了。
Starting modules/drivers/tools/image_decompress/launch/image_decompress.launch nohup: appending output to 'nohup.out' nohup: appending output to 'nohup.out' [ OK ] Launched module monitor. nohup: appending output to 'nohup.out' [ OK ] Launched module dreamview. Dreamview is running at http://localhost:8888
ブリッジを立ち上げる
SVL Simulatorと連携するためのブリッジを下記コマンドで立ち上げる。
$ ./scripts/bridge.sh
SVL Simulatorを起動する
使い方はこちらを参照。
www.eureka-moments-blog.com
シミュレーション作成画面をブラウザで開く。
Store -> Mapsと進み、BorregasAveを検索してライブラリに追加
Simulations -> Available from OthersからRandom Trafficのテンプレートを選択
シミュレーション条件をカスタマイズしていく。
最初の画面ではクラスターとシミュレーション名を設定して次に進む。
次の画面で下記の項目をそれぞれ設定する。
Map, Vehicle, Sensor Configurationをこのようにする。
WeatherとTrafficの条件はこのようにする。
ここで、WSL側のEthernetのIPアドレスを確認しておく。
この時点でSVL SimulatorはWindows, ApolloはLinuxと、別々のコンピュータ上でそれぞれ動いていることになるため、SVL SimulatorからApolloにブリッジを接続するために、WSL側のIPアドレスが必要になる。
WSL上で下記コマンドを打つとIPアドレスを確認できる。
$ ip a
VehicleのAutopilotをApollo 6.0, Bridge ConnectionをWSLのIPアドレス:9090に設定。SVL Simulatorの公式ドキュメントではlocalhost:9090と指定されているが、これはSimulatorとApolloが同じコンピュータ上で起動できている場合に有効な設定なので注意。
最後にPublishしてシミュレーションの作成完了。
シミュレーションを実行する
Run Simulationボタンを押す。
初回では、このように必要なassetsが一通りダウンロードされる。
完了するとアニメーションウィンドウが開く。
左下の▷ボタンを押してスタートさせる。
この時点ではまだVehicleは動かない。
ApolloとSimulatorの接続状況を確認する
シミュレータ画面左下のコンセントのアイコンを押すと、Apolloとの接続状況が確認できる。Bridge StatusがConnectedになり、gnssやperceptionといったApolloからの各種Topicが更新されていればOK。
Apolloの自動運転を実行させる
ブラウザでDreamview(localhost:8888)を開く。
右上、右から3番目のプルダウンメニューからMkz Lgsvlを選択する。
右から2番目のvehicleから、LincoIn2017MKZ LGSVLを選択する。
一番右のプルダウンからBorregas Aveを選択する。
左メニューからModule Controllerを選ぶ。
Localization, Transform, Planning, Prediction, Routing, ControlをそれぞれEnableにする。このような画面になればOK。
次に、左メニューからRouting Editingを選ぶ。
このようにマップを真上から見下ろした画面になるので、この中からVehicleを移動させる場所を指定する。
指定したら、最後に画面左上のSend Routing Requestを押すとこのように自動運転が開始される。