3DCADモデルをUnityに読み込ませてみた(1)
MASATOSHI FUKUDA
@mstsfkd
3DCADモデルをUnityに読み込ませてみた(1)
はじめまして!アクティ部のMASATOSHIです。
僕たちは「自分達でロボットを制作し、何か面白いことをさせたい!」という野望を胸に様々な技術的課題に対し、ゆる~く取り組んでます。
いきなり自作でロボットを作るのはハードルが高かったので、まずは市販のロボットをベースに2足歩行のモデリングに取り組んでます。
この記事では、ロボットの3DCADデータをUnityに読み込ませる方法について記載したいと思います。
0.素材
市販の2足歩行ロボットを購入し、まずは2足歩行のメカニズムについて勉強することにしました。
今回した購入のは近藤科学株式会社の「KXR-L2 ヒューマノイド型 Ver.2」です。
https://kondo-robot.com/product/03155
16軸搭載の2足歩行ロボットで制作もしやすいロボットです(おいおいロボット制作についても綴りたいと思います)
近藤科学株式会社のHPに3Dデータは公開されていなかった為、自分でこのロボットの3Dモデルを作成しました。
使用したCADソフトはAutodesk社のfusion360です。fusionは学生の頃ちょこちょこ使ってましたが、社会人になってから全然でした。
そんな感じで久しぶりにfusion360を使ったのですが、びっくりしました。現在のfusion360はクラウドサービスになっていたのですね!学生時代に使っていた時は重たいソフトをPCにインストールしなきゃいけなくて、動きが重たく、フリーズしたりしてました。現在はクラウド上で動くのでソフトインストールも簡単で、動きも滑らかで非常に使いやすくなってました。
1.CADモデル作成
ロボットの各部位を採寸して3DCADモデルを作成しました。3DCADモデルをUnityに読み込ませる為には「URDF(Unified Robot Description Format)」というXMLのフォーマットに変換する必要があります。URDFの詳細はこちらをご参照ください。
3DCADモデルをURDF化するには「fusion2urdf」というスクリプトを活用します(こちらの活用の仕方は次回解説しますね)
fusion2urdfを用いてCADモデルのurdf化を行うには、以下の注意が必要です。
*詳細は以下のサイトをご参照ください。
https://qiita.com/ackermanrf128/items/cab9d1983435ece9e000
<注意点>
・コンポーネントを含んだコンポーネントには対応していない。
・base_linkに相当するコンポーネント名は「base_link」にする。
・Fusion360ではジョイント名(=関節名)はデフォルトで「回転○○」のような日本語になるが英語に変更しておく。
・ジョイントについて、1つの子ジョイントが複数の親ジョイントを持ってはいけない(逆は問題なし)
これらに気を付けて、以下のような3DCADモデルを作成しました。
次回は実際にURDF化するスクリプトの使い方について紹介します。