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

parser_urdf: ReduceSDFExtension*FrameReplace functions are broken in libsdformat10+ #746

Open
2 of 5 tasks
scpeters opened this issue Nov 11, 2021 · 3 comments
Open
2 of 5 tasks
Labels
bug Something isn't working good first issue Good for newcomers URDF URDF parsing

Comments

@scpeters
Copy link
Member

scpeters commented Nov 11, 2021

Environment

  • OS Version: tested on macOS 10.15 but I expect it's a problem on Ubuntu as well
  • Source or binary build? both source and binary for any version newer than 10.0.0

Description

While attempting to merge forward #500 from 9 -> 10 (follow-up to #741), I found that the test added in #500 was failing. The test passes on the sdf6 and sdf9 branches, which use tinyxml, but was failing in my first merge attempt to sdf10, which uses tinyxml2. I manually forward-ported a portion of the test for the ReduceSDFExtensionPluginFrameReplace function in parser_urdf.cc in #745 and noticed a problem in the use of the tinyxml2 API in all the ReduceSDFExtension*FrameReplace functions.

  • Expected behavior: ReduceSDFExtension*FrameReplace functions should take effect on blocks of SDFormat contained in links that are consolidated via fixed-joint reduction.
  • Actual behavior: These functions are not taking effect since the tinyxml2 migration occurred in Migrate to using TinyXML2 #264

Steps to reproduce

  1. Add relevant SDFormat blocks to a test URDF like fixed_joint_reduction_plugin_frame_extension.urdf such that the name of the child link to be consolidated is listed in a bodyName field (for fixed_joint_reduction_plugin_frame_extension.urdf, this would be link2).
  2. Convert the file to SDFormat using ign sdf -p
  3. Expect the bodyName field to be changed to the name of the parent link (for fixed_joint_reduction_plugin_frame_extension.urdf, this would be base_link).

Output

Functions that need a test and fix:

@scpeters scpeters added the bug Something isn't working label Nov 11, 2021
@chapulina chapulina added the good first issue Good for newcomers label Nov 29, 2021
@chapulina chapulina added the URDF URDF parsing label May 2, 2022
@scpeters
Copy link
Member Author

I've added tests for ReduceSDFExtensionJointFrameReplace in the following branches:

@scpeters
Copy link
Member Author

I've added tests for ReduceSDFExtensionJointFrameReplace in the following branches:

fix in #1089

@scpeters
Copy link
Member Author

scpeters commented Feb 2, 2024

to complete this issue, the fix from #1089 can be applied to the following three functions:

  • ReduceSDFExtensionContactSensorFrameReplace
  • ReduceSDFExtensionGripperFrameReplace
  • ReduceSDFExtensionProjectorFrameReplace

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers URDF URDF parsing
Projects
None yet
Development

No branches or pull requests

2 participants