Skip to content

Conversation

@scpeters
Copy link
Contributor

@scpeters scpeters commented Dec 10, 2025

This is a second attempt adding quaternions to the URDF spec from #194, which was reverted in #231 due to in order to properly handle schema versioning (see #230).

  • 0c60c49: cherry-pick of Add support for quaternion in URDF #194 (with a minor whitespace fix)
  • 783122f: specify required version of urdfdom_headers in cmake find_package call
  • 93dc23d: updates the schema to indicate that version 1.1 is supported (more schema documentation / changelog needed)
  • 23ccaff: adds comparison helpers to URDFVersion and updates the parsing logic to allow version 1.1
  • 79e8067: pass URDFVersion object to link, joint, and other parsing functions
  • 583cb83: change quat_xyzw parsing logic based on URDFVersion and add tests

cc @saikishor

@scpeters
Copy link
Contributor Author

the cmake package version for urdfdom_headers wasn't updated for the 2.0.0 release. I've opened ros/urdfdom_headers#92 to fix the version syncing issue for future releases and will tag a new release

@scpeters scpeters force-pushed the scpeters/quaternion_with_schema_versioning branch from 76ef1e7 to fc87c34 Compare December 22, 2025 22:27
doisyg and others added 6 commits December 22, 2025 14:33
Signed-off-by: Guillaume Doisy <guillaume@dexory.com>
Signed-off-by: Steve Peters <scpeters@openrobotics.org>
Update version in xml comment and add version
attribute to xs:schema tag.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
This adds URDFVersion comparison helpers with tests
and updates the parser to allow parsing version 1.1.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
* Add URDFVersion constructor that accepts two integers
* Create URDFVersion object in correct scope to pass
  to parsing functions
* Pass URDFVersion argument to parsing functions

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
Update logic in parsePoseInternal to ignore
quat_xyzw if specified version is not new enough,
but print a warning message if any are detected.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
@scpeters scpeters force-pushed the scpeters/quaternion_with_schema_versioning branch from bc22c73 to 583cb83 Compare December 22, 2025 22:39
@scpeters scpeters requested a review from clalancette December 22, 2025 22:42
@scpeters scpeters marked this pull request as ready for review December 22, 2025 22:43
@scpeters scpeters requested review from ahcorde and sloretz December 22, 2025 22:43
@scpeters
Copy link
Contributor Author

CI currently fails since the required version of urdfdom_headers is not available; I've tested it by building from source

@ahcorde
Copy link
Contributor

ahcorde commented Dec 23, 2025

Pulls: #235
Gist: https://gist.githubusercontent.com/ahcorde/5861b2520b00fd635e36f8ad8a2bcd44/raw/a6b5f30ae357d48b7eda5e132142f12743dac17a/ros2.repos
BUILD args: --packages-above-and-dependencies urdfdom
TEST args: --packages-above urdfdom
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/17842

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@ahcorde ahcorde merged commit 4caee7c into rolling Dec 26, 2025
2 of 9 checks passed
@ahcorde ahcorde deleted the scpeters/quaternion_with_schema_versioning branch December 26, 2025 11:34
@scpeters
Copy link
Contributor Author

The ci.ros2.org job succeeded but the GitHub workflows failed since they have old versions of urdfdom_headers. We should fix or disable these broken CI jobs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants