jsk-ros-pkg / jsk_model_tools

JSK model utilities
https://github.com/jsk-ros-pkg/jsk_model_tools
BSD 3-Clause "New" or "Revised" License
6 stars 29 forks source link

オブジェクトに応じてgazeboのstatic/fixed/無印属性を変更したworldファイルを生成したい #123

Open furushchev opened 9 years ago

furushchev commented 9 years ago

https://github.com/jsk-ros-pkg/jsk_model_tools/pull/122https://github.com/euslisp/EusLisp/tree/master/models のモデルが自動でurdfに変換されるようになりましたが、作成されたworldファイルを見ると https://gist.github.com/94c2253a1b1f81266a11 のようにすべてのmodelファイルに_staticとついています。 modelsフォルダには

のように3つのurdfができていて、それぞれ無印に比べて

+  <!-- Used for fixing robot to Gazebo 'base_link' -->
+  <link name="world"/>
+  <joint name="fixed" type="fixed">
+    <parent link="world"/>
+    <child link="nil_link"/>
+  </joint>
-    <static>false</static>
+    <static>true</static>

というようになっています。

staticはworldの指定位置に固定、fixedはworldに固定するけど、例えばタンスの引き出しなどのリンクは可動にするための処置と見られます。

今回eusモデルから変換すると一括ですべてstaticになっているところを、キッチンなどはstatic, 棚などはfixed, トレイなどは無印というように変えたいのですが、そのような指定をどこに書けばいいでしょうか?

mmurooka commented 9 years ago

eusurdfに設定ファイルをおいて https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/euslisp/convert-eus-to-urdf.l#L69 で_staticとあるところを,その設定ファイルに応じて変えるのがいいと思います. モデルが飛んでいってしまうので,デフォルトはstaticがお勧めです.

furushchev commented 9 years ago

@mmurooka なるほど。eusurdfに設定ファイルをおくということはeuslisp/modelsのモデルファイル一覧に対してホワイトリストかブラックリストを作るという事でしょうか? その場合、目的は実現可能ですが、その設定ファイルをまたeuslisp/modelsから自動生成したくなってくる気がします。。。

一番きれいなのは、eusモデルに質量モデルと位置をきちんと設定して、すべてを無印にするというのだと思いますが、次点として

などでしょうか。 (※jsk/rbrain環境について何も知識がない前提で列挙しています)

mmurooka commented 9 years ago

eusの方針はちゃんと分かっていないですが, 大変そうですがそれでもいいのだと思います.

eusモデルに質量モデルと位置をきちんと設定して

床や壁は質量・位置が正しくても動いてほしくないので, eusモデルの質量・位置が正しくてもどこか(eusモデルか変換時か)でstaticにするという情報を加える必要はありそうです.