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

Metadata from Collada files #1045

Open
de-vri-es opened this issue Sep 8, 2016 · 2 comments
Open

Metadata from Collada files #1045

de-vri-es opened this issue Sep 8, 2016 · 2 comments

Comments

@de-vri-es
Copy link
Contributor

de-vri-es commented Sep 8, 2016

Currently, metadata from Collada files such as the <up_axis> and <unit> tags are ignored. This is done by ignoring the root transformation on imported models [1].

While this avoids the problem of Assimp enforcing Y_UP orientation, it also undoes the effect of the <unit> tag. Additionally, there is the question if ignoring the <up_axis> tag is correct behaviour in the first place.

This came up at moveit/geometric_shapes#52, because currently geometric_shapes imports Collada meshes differently from rviz. That causes an undesirable mismatch between visualization and for example the meshes used for collision checking in moveit.

@gavanderhoorn pointed out that the proposed fix there (which copies rviz behaviour) basically ignores parts of the Collada specification (the <up_axis> and <unit> tags). However, Assimp does not provide the needed information right now to enforce a convention other than Y_UP. It would require parsing the Collada file manually to retrieve the relevant metadata tag.

geometric_shapes should load models the same way rviz does to prevent mismatches with visualization. However, if the behaviour of rviz is going to change in the near future, it could make sense to delay changing geometric_shapes until after that happened.

So, the real question: Should rviz respect <unit> and <up_axis> tags in Collada files, and reorient meshes to Z_UP convention and scale them to meter units?

[1]

// Don't convert to y-up orientation, which is what the root node in

@de-vri-es
Copy link
Contributor Author

Note that if the answer is "yes, it should" I can put it into a PR. I wanted to discuss first though.

@wjwwood
Copy link
Member

wjwwood commented Oct 18, 2016

I don't feel strongly about it. Ideally it would follow the standard, but I'm not sure it's worth potentially breaking behavior for existing models that have worked around this issue in someway.

@wjwwood wjwwood added this to the untargeted milestone Oct 18, 2016
T045T added a commit to T045T/baxter_common that referenced this issue Dec 12, 2017
RViz doesn't respect it anyway ( ros-visualization/rviz#1045 ), but current versions of three.js' ColladaLoader (used in the RobotWebTools, see RobotWebTools/ros3djs#202 ) do!

(Since RViz doesn't respect the tag, this does not break the model)
T045T added a commit to T045T/turtlebot that referenced this issue Dec 12, 2017
RViz doesn't respect it anyway ( ros-visualization/rviz#1045 ), but current versions of three.js' ColladaLoader (used in the RobotWebTools, see RobotWebTools/ros3djs#202 ) do!

(Since RViz doesn't respect the tag, this does not break the model)
T045T added a commit to T045T/kobuki that referenced this issue Dec 12, 2017
RViz doesn't respect it anyway ( ros-visualization/rviz#1045 ), but current versions of three.js' ColladaLoader (used in the RobotWebTools, see RobotWebTools/ros3djs#202 ) do!

(Since RViz doesn't respect the tag, this does not break the model)
T045T added a commit to T045T/fetch_ros that referenced this issue Dec 12, 2017
RViz doesn't respect it anyway ( ros-visualization/rviz#1045 ), but current versions of three.js' ColladaLoader (used in the RobotWebTools, see RobotWebTools/ros3djs#202 ) do!

(Since RViz doesn't respect the tag, this does not break the model)
@wjwwood wjwwood removed this from the untargeted milestone May 10, 2018
corot pushed a commit to corot/kobuki that referenced this issue Mar 13, 2019
RViz doesn't respect it anyway ( ros-visualization/rviz#1045 ), but current versions of three.js' ColladaLoader (used in the RobotWebTools, see RobotWebTools/ros3djs#202 ) do!

(Since RViz doesn't respect the tag, this does not break the model)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants