Open fkanehiro opened 8 years ago
http://wiki.ros.org/urdf/XML/joint を見ると、joint_frame=child_frameでjoint axisはchild_frameでの表現ということなのですが、 https://github.com/fkanehiro/simtrans/blob/master/simtrans/sdf.py#L198 のuse_parentが1となるために親リンクでの表現として処理されるようですね。 use_parentはなぜ1となっているのでしょう?
gzでurdfからsdfに変換した時にuse_parent_model_frameが1になっている。
use_parent_model_frameが1になっているが、axisもそれに合わせた値になっている。 またmodel.pyのAxisDataも親リンクでの表現ということになっているのでurdf->sdf->AxisDataまでの処理は現状のものでOKで問題はwrlに出力する際に子リンクでの表現に直していないことか。
下のようなurdfを変換すると、円柱の軸周りに関節が回転することを期待しますが、それとは90度異なる方向周りに回転します。 おそらくrpyがaxisに適用されているのではないかと思いますが、urdfもwrlも子リンクでの相対表現なので変換は不要と思います。
更にrootジョイントがfixedではなくfreeになります。