完成図
さて、今回はいつもの西新宿のMapではなく柏の葉のMapでAWSIMをつかい走ってみようと思います。
環境
OS | Ubuntu 22.04 |
---|---|
GPU | RTX3090 |
Autoware | awsim-stable(3月のリリース版) |
AWSIM | AWSIM_v1.1.0 |
以前GTX1080Tiをつかってましたが、快適に作業するためGPUをRTX3090にupdateしました。
快適に作業と言ってもunity editor 開きながらbiranry実行とautoware実行ができる環境を求めた結果なので少しリッチすぎるかもしれません。RTX3080Ti(16GB)くらいがちょうどよかったかもしれません。
準備
今回つかうのは柏の葉のAWSIMです。こちらにbranchがあるようです。
ちなみにこの記事は土日の暇な時に2〜3時間程度使って気分次第で中身を書いているので、この記事がボツになる可能性は全然あります。Unityはもともと触っていたこともあり、私はいろいろ書いてますがまだAWSIM歴1〜2ヶ月程度のため、わからないことは結構あります。
この記事のやり方が全てではないので公式のdocumentationと適宜見比べながら進めていただけたらと思います。
さて、柏の葉の環境を作るまえに一旦西新宿の設定からおさらいしましょう。
必要なものはざっくりと以下で構成されています。要望があればわかる範囲で少し詳細を追記していきます。
- clock(時間をpublishするやつ)
- enviroment (MGRS座標を入れておくスクリプト)
- 車両モデル一式(センサモデルなど)
- UI(なくても動くが一応)
- その他(入れ替え可能な部分)
さて、まずは branchをcloneしましょう。開くと柏の葉の地図が多分あるはず。あった。
AWSIMー>Modelー>Environmentsー>kashiwanohaにありました。
あっ車両モデルやいろいろなものががない。。。西新宿を参考に見ていきます。
RGLのexceptionがあってUnknowPlatformで。。
C#のスクリプトを見ましたが、修正方法がわからず30分が溶けました。笑
その後もいろいろやってみましたが、結論から書くと断念しました。。
別の方法を取ろうと思います。(多分正しいやり方ではないので、正しいやり方を知っている人は是非記事にしていただけると。)
環境(場所)を変えるにはあくまでも環境のモデルを入れ替えればいいだけなので、西新宿のAWSIMに柏の葉の環境をいれることにします。とりあえずAWSIM(main)をもう一個柏の葉用にcloneしてそこに柏の葉の環境をコピペする作戦でいきます。下記のbranchの柏の葉のEnvironmentの中のkashiwanohaをまるごとコピペしてnishishinjukuのSceneにいれましょう。
とりあえず動くことを確認してから車両と地図を配置しましょう。
こんな感じで出てくると思います。
- 実行するとRGLに関するエラーがでてくるのでモデルのtext meshのread/writeをenableにしましょう。
- Signsだけはどうにも治らなかったのでコメントアウトしています。(直し方知っている人教えて!!)
あとはここにお好みでdirectional lightを加えていきましょう。
何故かいつの間にか白一色になってました。(なんでか知っている人教えて!)
実行すると車両が床を突き抜けるのでgroundにmesh collidarをつけておきましょう。
buildする
buildしていきましょう。この記事の内容のようにSceneを追加して、buildします。
topic listがでていれば接続はOKです
/clock
/control/command/control_cmd
/control/command/emergency_cmd
/control/command/gear_cmd
/control/command/hazard_lights_cmd
/control/command/turn_indicators_cmd
/parameter_events
/rosout
/sensing/camera/traffic_light/camera_info
/sensing/camera/traffic_light/image_raw
/sensing/gnss/pose
/sensing/gnss/pose_with_covariance
/sensing/imu/tamagawa/imu_raw
/sensing/lidar/top/pointcloud_raw
/sensing/lidar/top/pointcloud_raw_ex
/vehicle/status/control_mode
/vehicle/status/gear_status
/vehicle/status/hazard_lights_status
/vehicle/status/steering_status
/vehicle/status/turn_indicators_status
/vehicle/status/velocity_status
詰まったら以下チェックしてみると良いと思います。
- source忘れてないか
- build settingでscene追加し忘れてないか
- editor実行の段階でエラーがでてなかったか
autowareとの連携
ll2とpcdは入っているみたいなのでこちらを使ってautowareを起動しましょう。
ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:=$USER/kashiwanoha_awsim/Assets/AWSIM/Models/Environments/Kashiwanoha
(内心この記事がボツにならなかったよかったとホットしています)
リメイク
いろいろと編集してみようともいます。
どうせなので冬仕様にしていきます。
雪を加えていきます。こちらの記事を参考に頑張ってみましょう。
snow_white的な感じでmaterialに名前をつけていきましょう。
mesh renderのmaterialを展開して、要素2に入れ込むと雪が積もっている感じがしてきます。
雪だるまも追加していきましょう
他にもお好みでエフェクトを追加しましょう。
おわりに
公式チュートリアルに「新しい環境でAWSIMを使うにはどうすればいいのか」などの解説が加わると嬉しいですね。私も正しいやり方を知りたいのです。
もし詳しい方や、やってみている途中で正しい方法を見つけた方がいたら公式readmeにチュートリアルのPR出してもらえると嬉しいです。PCDとLL2さえあればいろんなところを走れそうな気がしてきました。