Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CADファイルからeus/urdfモデルへの変換方法 #531

Open
eisoku9618 opened this issue Sep 1, 2014 · 0 comments
Open

CADファイルからeus/urdfモデルへの変換方法 #531

eisoku9618 opened this issue Sep 1, 2014 · 0 comments

Comments

@eisoku9618
Copy link
Member

全体の流れ

環境

  • SolidEdge
  • Rhinoceros

を持っていて,SolidEdgeでモデリングしているとする.

eusモデルの場合

  1. SolidEdgeでモデリング
  2. リンク毎にSTEP形式で出力
  3. STEPファイルをRhinocerosで読み込んで色をつけてVRML形式で出力
  4. 各リンクモデルを統合するVRMLファイルを作成
  5. make

urdfモデルの場合

  1. SolidEdgeでモデリング
  2. リンク毎にcollada形式で出力
  3. 各リンクモデルを統合するxacroファイルを作成
  4. make

3D CADソフトでモデリング

SolidEdgeなどの3D CADソフトで,ロボットの各リンクごとにモデルを作る.
そのとき,CAD上の座標系がリンクの座標系と一致するようにしておくと,リンクモデルを統合するファイルを書くときに楽になる.
設計時に使っている詳細なCADファイルではなく,外側だけを型どった簡易的なCADファイルを別途作る.

リンク毎にSTEP形式で出力

SolidEdgeを使っている場合は,SolidEdgeのVRML出力機能で出力したVRMLではeusへの変換ができないようなので,一旦STEPファイルに出力する.

STEPファイルをRhinocerosで読み込んで色をつけてVRML形式で出力

RhinocerosでSTEPファイルを読み込んでRhinocerosで色をつけてVRMLで出力

各リンクモデルを統合するVRMLファイルを作成

xxxという名前のロボットを作っている場合はXXXmain.wrlというVRMLファイルを作り,上記のサイトを参考に,各リンク間距離や各リンクのマスプロパティ,センサの取り付け座標などを記載する.

リンク毎にcollada形式で出力

SolidEdgeの機能で各リンク毎にcollada形式で出力する

各リンクモデルを統合するxacroファイルを作成

xxxという名前のロボットを作っている場合は,

cd /path/to/your/workspace
mkdir xxx_description
cd xxx_description
mkdir meshes
mkdir urdf
mkdir robots

というディレクトリ構成を作り,meshses以下にリムごと(腕・脚・頭・腰など)にディレクトリを作ってモデルファイルを置く.

urdfディレクトリとrobotsディレクトリに,各リンク間距離や各リンクのマスプロパティ,センサの取り付け座標などを記載する.

make

eusの場合は一旦colladaをかますが,

を参考にして変換すれば完成.

urdfの場合は

rosrun xacro xacro.py `rospack find xxx_description`/robots/xxx.urdf.xacro -o /tmp/xxx2.urdf
rosrun collada_urdf urdf_to_collada /tmp/xxx.urdf /tmp/xxx.dae
meshlab xxx.dae

で完成.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant