やること
前回のつづきです。
手持ちの3D素材から制御できるロボットのファイル形式であるURDFを出力するのがゴールです。
そのために、
① フリーCADソフトであるFreeCADを使えるようにします。
② FreeCADの拡張機能であるfreecad.overcrossを導入します。
③ 制御できるロボットのファイル形式であるURDFを組み立てます。
④ URDFを出力します。
上記のうち①②については、前編の記事をご参照ください。
今回は③④にチャレンジします。
使用環境
- Mac M1 (たぶんウィンドウズでもLinuxでもOK!)
- Freecad v0.21.2
③ URDFを組み立てる
どうにかしてURDFを組み立てていきます。
内容を理解してわかりやすい記事にしようと思いましたが、なかなか大変だったので取り急ぎ記事のご紹介だけしておきます。
海外のチュートリアルを使う
こちらが本家のチュートリアルです。
...がしかし、ヒントが少なすぎてさっぱりわかりません。
チュートリアルをよくみると下の方にロシア語の記事が貼ってありまして、そこに四輪ロボットのURDF作成についての詳細が記されています。
スクリーンショット豊富でとても丁寧な説明になっています。全部で3ページあります。
当方の手抜き記事となってしまいすみませんが、ぜひ以下のサイトを参考にテストをしてみてください。
ところどころ操作面でわかりにくい箇所もありますが、なんとか最後まで到達できました。
ROS2の環境を求められますが、ROSやROS2をインストールしていなくてもURDFを出力できることが確認できています。
④ URDFを出力する
すべての準備が整ったら、モデルビューで「Robot」を選択し、その状態で右上にあるURDF出力ボタンを押します。

この時、ROS2のワークスペースをダイアログボックスで聞かれますが、無視して空欄でも先進めることができます。
その後、ファイルを出力するディレクトリを問われますが、その時の指定が有効なのかどうかは、不明です。
自分の場合では指定ディレクトリは無視され、デスクトップ上に「Desktop」というフォルダが作成されました。その中にURDFやメッシュのデータが入っていました。
デスクトップにはもう一つ「overcross」というフォルダが生成されており、その中には「robot_meta.xml」が入っていました。
URDFのデータにはコリジョンやイナーシャも入っており、便利に使えそうな感じです。
出力したURDFをUnityにインポートしてみる
URDF-ImporterをつかってUnityにインポートしてみました。

meshへのパスの書き換えなどが必要でしたが、なんとかインポートできました。
ただし、実行するとモデルが画面からパッと消えてしまったので、瞬時にどこかに吹っ飛んでいるものと思われます。パラメーターや設定については、もうすこしよくみておく必要がありそうです。