Raspberry Pi Mouseのハードウェアモデルデータ(URDFモデル)をUnityにインポートします。
インポートにはUnity-Technologies/URDF-Importerを用います。
Unityプロジェクトの新規作成までの手順はSTEP0をご参照ください。
本ステップ実行後の状態のSceneファイルはMobileRobotUITutorialProject/Assets/Scenes/Step1.unityから入手できます。
- Windows 10 Home バージョン 21H2
- Unity 2021.3.4f1
- Unity-Technologies/URDF-Importer v0.5.2
パッケージマネージャからURDF-Importerをインストールします。パッケージマネージャはメニューバーのWindow -> Package Managerから開けます。
左上の+ボタンからAdd package from git URLをクリックします。
URDF-ImporterのGitリポジトリへのURLを最新のタグを指定して入力し、Addをクリックします。2022年6月現在最新のタグはv0.5.2です。
この場合のGitリポジトリへのURLは https://github.com/Unity-Technologies/URDF-Importer.git?path=/com.unity.robotics.urdf-importer#v0.5.2 となります。
※今後のバージョンアップによって使い方が変わる可能性があります。本チュートリアルでは「動作確認環境」に記載のバージョンでのみ動作確認をしています。
URDFモデルをダウンロードし、Unityプロジェクト内のAssets/URDFフォルダへ配置します。
今回はURDFモデルを予め本プロジェクトと一緒にダウンロードしているのでコピーして配置します。
まず、UnityのProjectパネルで、Assets/URDFフォルダを作成します。
次に作成したAssets/URDFをエクスプローラで開きます。
ROS/src/raspimouse_descriptionフォルダをURDFフォルダへコピーします。
Windowsの場合はCtrlキーを押しながらドラッグすると移動ではなくコピーができます。
次にコピーしてきたraspimouse_descriptionフォルダ内のurdf/raspimouse_with_urg.urdfを作成したAssets/URDFにコピーしておきます。
この配置とすることでURDFモデルをURDF-Importerを使ってインポートする時にモデルデータのパスが解決できるようになります。
(.metaファイルはUnityで自動的に生成されるものなので無視して構いません)
ここまででURDFモデルの準備は完了です。
URDFモデルをUnity上で読み込み、次のSTEP以降で必要な設定をしておきます。
まず、Assets/URDF内のraspimouse_with_urg.urdfを右クリックしてImport Robot from Selected URDF fileをクリックします。
その後URDF Import SettingsパネルでAxis TypeをY axisに、Mesh DecomposerをVHACDでImport URDFをクリックします。
エラーなくインポートできればSceneビューにRaspberry Pi Mouseが出現しているはずです。
URDF-Importerで読み込んだロボットモデルはUnity上で物理シミュレーションができるように Articulation Bodyが適用されます。 今回物理シミュレーションはGazeboで行い、UnityはUI開発に使用するため以下のGameObjectのArticulation Bodyを無効にします。
base_linkright_wheel_linkleft_wheel_linkurg_mount_linklidar_link
さらにraspimouseGameObjectにアタッチされているControllerスクリプトを無効にしておきます。
以上でURDFのインポートは完了です。
URDFモデルを準備し、URDF-Importerを使ってUnityのプロジェクトにインポートする方法を紹介しました。 さらにUnityの物理演算を使わない場合のGameObjectの設定についても紹介しました。
今回は同梱しているURDFモデルを使いましたが、他のURDFモデルを使用することもできます。 例えば、Raspberry Pi Mouseと同じくアールティから販売されているJetson Nano Mouseを使おうと思った場合はrt-net/jnmouse_descriptionからデータをダウンロードしてプロジェクトに取り込めばURDF-Importerを使って同じようにロボットを表示させることができるようになります。
次はSTEP2でロボットを動かす環境(Worldデータ)を読み込みます。










