LoginSignup
6
0

More than 1 year has passed since last update.

AWSIMでロボットを動かしてみる

Last updated at Posted at 2023-04-02

概要

「小型ロボットのシミュレータで遊んでみよう!」

さて、今回小型ロボットでAWSIMを動かしてみましょう。小型ロボットのシミュレータを利用することで、実際にロボットを作らずにその動作を体験することができます。このシミュレータを使うと、リアルな環境でロボットを動かすことができ、仮想空間での動作テストができるため、実際の開発時に大いに役立ちます。複雑なシステムを実際に動かす前に、シミュレーションを行うことで、トラブルシューティングや改善点を見つけ出すことができます。加えて、シミュレータを使うことで、ロボットの動作を自由自在にカスタマイズすることもできます。様々な機材を購入しテストしながら開発するよりもはるかに簡単に、自分だけのロボットを作ることができます。

image.png

小型ロボットを作ってみる

準備するもの

  • fbxの車両モデル
     本体、車輪があればOKです
  • 環境のモデル
     HDRP対応しているモデルがあればOKです。
    方向指示器やブレーキランプなどもあるとなお良いですが、AWSIMで動かす上では必須ではないので必要に応じて追加するくらいにとどめておくと良いです。
    image.png

1.環境の準備
AWSIMと同様の構成にしましょう。前回の記事が参考になりますので同様に環境にEnvironmentのスクリプトをつけていきましょう。

謎のSceneManagerを貼り付けていきます。スクリプトに”synchronizing model data between Unity and RGL”とかいてあったのでliadarの点群処理の類のなにかだと思います。私はあまり良くわかってないです。
image.png

2.次に車両モデルを作成していきます。
robotにAWSIMのLexusと同じくスクリプト、rigidbodyを追加していきます。
image.png

一旦全部スクリプトを使わずに再生してみると車体が沈んでいきます。ステップ実行すると車体が沈む様子が見て取れます!
image.png

3.collidarを作っていきましょう。

AddComponentから車体にあったcollidarをつけていきましょう。
:book: 一度mesh collidarをつけてみたのですが、rigidbodyはboxかsphere collidarしか受け付けませんと怒られてしまったので、今回はbox collidarをつけることにしました。
image.png

WheelCollidarもつけていきます
こんな感じで車輪の半径と位置を調整していきましょう。(厳密にやると結構たいへんなので頑張りましょう)
Add Compoenentからwheelとwheel configを追加していきます。
image.png

実行してみるとこんな感じになります。
image.png

さて、ちゃんと4つwheel collidarをつけて実行するとこんな感じになります。
image.png

重心COM(center of mass)を加えていきましょう。座標の値だけわかればOKなので、中身は空で問題ないです。
image.png
これをvehicleのC#スクリプトの設定のところにドラッグ&ドロップすると車両の重心が設定できます。

次にFrontAxleRearAxleのところにwheel collidarのwheelをドラッグ&ドロップしましょう。vehicle keybord inptのところをチェック入れるとキー操作で走るようになります。
image.png

これで車両の設定は完了です。

4.センサを設定していきましょう。
まずbaselinkを後輪間中点に設定し、sensor_kit_baselinkはvelodyneのtopの位置にしておきます。これはLexusのものからそのまま持ってきて位置だけ調整でOKでした。
image.png

センサを配置し終わったら実行してみましょう。lidarの点群が出ていると思います。
image.png


せっかくなので違う角度でも。もとからAssetにあったNPCも置いてみます。
image.png

image.png

joyconの設定もお好みで追加していきました。Edit->ProjectSetting->InputManagerから設定できます。
image.png

こちらを参考にbuildしていきましょう。

Rvizと連携させる

せっかくなのでRvizと連携させていきましょう。いつものコマンドでとりあえずAutowareを起動させます。

ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:=$HOME/maps/nishishinjuku_autoware_map でRvizを起動し。自己位置を入れます。

image.png

車両はレクサスになってしまってますが、Rviz上でちゃんと表示されていることがわかります。車両モデルのdescriptionを入れ替えるとちゃんと走行できそうです。
image.png

今回はジョイコンで操作してみました。自己位置外れなどはありませんでした。(ジョイコンで操作するより自律走行させるほうが安全説ある)
test.gif

終わりに

今回は小型のロボットをAWSIMで走らせるについて書きました。小型車両のdescription持っている方がいれば是非この先をチャレンジしてみてください!!

PCD,LL2はMAPIV Engineを使うとrosbagから簡単に作成できます。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0