-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Bullet SDF parser does not parse correctly SDF files with <use_parent_model_frame>1</use_parent_model_frame> #1707
Comments
Indeed, PyBullet doesn't support this legacy support option of Gazebo (latest version of Gazebo uses the same default as PyBullet, using the joint axis in child joint frame). Adding a print is easy, somewhere in UrdfParser.cpp (which is also used for SDF files). If someone wants to implement the backward compatibility, it is a bit more work. Aside from adding the element in UrdfParser (UrdfJoint), the conversion code would happen in Urdf2Bullet, around this block of code:
|
Since sdformat > 8.4, the URDF --> SDF converter does not export any more SDF files with |
In SDF files, the joint axis can be expressed in the "joint frame", or in the parent "model frame" if the option
use_parent_model_frame
is set to true:http://sdformat.org/spec?ver=1.6&elem=joint#axis_xyz
See https://bitbucket.org/osrf/gazebo/issues/494 for an historical discussion on the
use_parent_model_frame
option.Currently the Bullet SDF parser only supports the case in which the axis is expressed in joint frame:
bullet3/examples/Importers/ImportURDFDemo/UrdfParser.cpp
Line 1283 in f90bd1f
and it silently loads the wrong axis if a joint contains the
<use_parent_model_frame>1</use_parent_model_frame>
option.It would be great if bullet at least printed an error when trying to load this files.
The main reason why this may be problematic is that SDF models generated with the URDF to SDF converter provided by sdformat always contain the
use_parent_model_frame
option set to1
The text was updated successfully, but these errors were encountered: