Skip to content

Conversation

@saikishor
Copy link
Contributor

Signed-off-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com>
@saikishor saikishor force-pushed the add/geometry/capsule branch from b151e11 to 4c8716d Compare January 28, 2026 09:16
Signed-off-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com>
Copy link
Contributor

@scpeters scpeters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you mind adding a schema test for the capsule feature similar to https://github.com/ros/urdfdom/blob/rolling/urdf_parser/test/urdf_schema_quaternion_test.cpp?

Signed-off-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com>
@saikishor
Copy link
Contributor Author

do you mind adding a schema test for the capsule feature similar to https://github.com/ros/urdfdom/blob/rolling/urdf_parser/test/urdf_schema_quaternion_test.cpp?

Thank you for pointing out. I completely missed it 🙈

@saikishor
Copy link
Contributor Author

While adding tests on ros/urdf_parser_py#96
I realized that the versioning part is not done there. I just added it and made sure that capsules are only allowed on 1.1

return false;
}

if (!std::isfinite(c.length) || !std::isfinite(c.radius) || c.length < 0 || c.radius < 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a good logic check, but none of the other geometry parsing functions have something like it

how do you feel about reverting this logic check from URDF 1.1 and open a separate pull request that will target rolling and add these logic checks to this and the other geometry parsing functions?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this is a new entry, I think it makes sense to have it integrated with the checks already. I personally would keep it.

For the rest of the geometry types, yes I already have a plan to do that for other types and rest of the components in the URDF

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's your opinion on this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we shouldn't backport the additional logic checks for existing geometry types. So we can eventually merge them into rolling, but I wouldn't include those checks in URDF 1.1

A case could be made that for consistency, the Capsule code for URDF 1.1 that will be backported should also not include the checks. It's subjective, so I won't demand it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood. I can remove them. I'll open a different PR adding such logic to all the geometry cases targeting rolling

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@scpeters Done

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've the other checks done here: https://github.com/saikishor/urdfdom/tree/extend/invalid_data/checks

Once this is merged, I can open the new one

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Signed-off-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com>
@scpeters
Copy link
Contributor

scpeters commented Feb 3, 2026

urdfdom_headers 2.1.0 has been released (ros/rosdistro#49659), so I have updated the find_package call in 9fd2bde to require that version

@saikishor
Copy link
Contributor Author

saikishor commented Feb 3, 2026

urdfdom_headers 2.1.0 has been released (ros/rosdistro#49659), so I have updated the find_package call in 9fd2bde to require that version

Perfect. Thanks

@saikishor
Copy link
Contributor Author

Seems like CI is failing as it is taking binaries from stable branch

@saikishor
Copy link
Contributor Author

Thanks for taking care of CI

@scpeters
Copy link
Contributor

scpeters commented Feb 4, 2026

well I've tried, but I'm not sure what is going wrong. I'm going to close and reopen once in order to restart CI, but if that doesn't work I'll run tests locally

@scpeters scpeters closed this Feb 4, 2026
@scpeters scpeters reopened this Feb 4, 2026
@saikishor
Copy link
Contributor Author

I agree. it is weird. For me it works locally with recent changes.

Details
Starting >>> urdfdom 
UpdateCTestConfiguration  from :/home/user/urdf_ws/build/urdfdom/DartConfiguration.tcl
Parse Config file:/home/user/urdf_ws/build/urdfdom/DartConfiguration.tcl
   Site: skk-laptop
   Build name: Linux-c++
Create new tag: 20260204-0824 - Experimental
UpdateCTestConfiguration  from :/home/user/urdf_ws/build/urdfdom/DartConfiguration.tcl
Parse Config file:/home/user/urdf_ws/build/urdfdom/DartConfiguration.tcl
Test project /home/user/urdf_ws/build/urdfdom
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
      Start  1: urdf_double_convert

1: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_double_convert "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_double_convert.xml"
1: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
1: Environment variables: 
1:  LC_ALL=C
1: Test timeout computed to be: 240
1: Running main() from /home/user/urdf_ws/src/urdfdom/urdf_parser/test/gtest/src/gtest_main.cc
1: [==========] Running 2 tests from 1 test suite.
1: [----------] Global test environment set-up.
1: [----------] 2 tests from URDF_DOUBLE_CONVERT
1: [ RUN      ] URDF_DOUBLE_CONVERT.test_successful_conversion
1: [       OK ] URDF_DOUBLE_CONVERT.test_successful_conversion (0 ms)
1: [ RUN      ] URDF_DOUBLE_CONVERT.test_failed_conversion
1: [       OK ] URDF_DOUBLE_CONVERT.test_failed_conversion (0 ms)
1: [----------] 2 tests from URDF_DOUBLE_CONVERT (0 ms total)
1: 
1: [----------] Global test environment tear-down
1: [==========] 2 tests from 1 test suite ran. (0 ms total)
1: [  PASSED  ] 2 tests.
 1/10 Test  #1: urdf_double_convert ........................   Passed    0.00 sec
test 2
      Start  2: urdf_double_convert_locale

2: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_double_convert "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_double_convert_locale.xml"
2: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
2: Environment variables: 
2:  LC_ALL=nl_NL.UTF-8
2: Test timeout computed to be: 240
2: Running main() from /home/user/urdf_ws/src/urdfdom/urdf_parser/test/gtest/src/gtest_main.cc
2: [==========] Running 2 tests from 1 test suite.
2: [----------] Global test environment set-up.
2: [----------] 2 tests from URDF_DOUBLE_CONVERT
2: [ RUN      ] URDF_DOUBLE_CONVERT.test_successful_conversion
2: [       OK ] URDF_DOUBLE_CONVERT.test_successful_conversion (0 ms)
2: [ RUN      ] URDF_DOUBLE_CONVERT.test_failed_conversion
2: [       OK ] URDF_DOUBLE_CONVERT.test_failed_conversion (0 ms)
2: [----------] 2 tests from URDF_DOUBLE_CONVERT (0 ms total)
2: 
2: [----------] Global test environment tear-down
2: [==========] 2 tests from 1 test suite ran. (0 ms total)
2: [  PASSED  ] 2 tests.
 2/10 Test  #2: urdf_double_convert_locale .................   Passed    0.00 sec
test 3
      Start  3: urdf_schema_capsule_geometry_test

3: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_schema_capsule_geometry_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_schema_capsule_geometry_test.xml"
3: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
3: Environment variables: 
3:  LC_ALL=C
3: Test timeout computed to be: 240
3: [==========] Running 7 tests from 1 test suite.
3: [----------] Global test environment set-up.
3: [----------] 7 tests from URDF_UNIT_TEST
3: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_version_1_1
3: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_version_1_1 (0 ms)
3: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_ignored_version_1_0
3: Warning: Ignoring capsule attribute minimum required version URDF version 1.1 since specified version is 1.0.
3:          at line 297 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: Error:   Could not parse visual element for Link [link1]
3:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_ignored_version_1_0 (0 ms)
3: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_zero_values
3: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_zero_values (0 ms)
3: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_missing_radius_fails
3: Error:   Capsule shape must have both length and radius attributes
3:          at line 227 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: Error:   Could not parse visual element for Link [link1]
3:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_missing_radius_fails (0 ms)
3: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_missing_length_fails
3: Error:   Capsule shape must have both length and radius attributes
3:          at line 227 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: Error:   Could not parse visual element for Link [link1]
3:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_missing_length_fails (0 ms)
3: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_inf_value_fails
3: Error:   radius [inf] is not a valid float
3:          at line 245 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: Error:   Could not parse visual element for Link [link1]
3:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
3: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_inf_value_fails (0 ms)
3: [ RUN      ] URDF_UNIT_TEST.parse_multiple_capsules_in_same_link
3: [       OK ] URDF_UNIT_TEST.parse_multiple_capsules_in_same_link (0 ms)
3: [----------] 7 tests from URDF_UNIT_TEST (0 ms total)
3: 
3: [----------] Global test environment tear-down
3: [==========] 7 tests from 1 test suite ran. (0 ms total)
3: [  PASSED  ] 7 tests.
 3/10 Test  #3: urdf_schema_capsule_geometry_test ..........   Passed    0.00 sec
test 4
      Start  4: urdf_schema_capsule_geometry_test_locale

4: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_schema_capsule_geometry_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_schema_capsule_geometry_test_locale.xml"
4: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
4: Environment variables: 
4:  LC_ALL=nl_NL.UTF-8
4: Test timeout computed to be: 240
4: [==========] Running 7 tests from 1 test suite.
4: [----------] Global test environment set-up.
4: [----------] 7 tests from URDF_UNIT_TEST
4: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_version_1_1
4: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_version_1_1 (0 ms)
4: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_ignored_version_1_0
4: Warning: Ignoring capsule attribute minimum required version URDF version 1.1 since specified version is 1.0.
4:          at line 297 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: Error:   Could not parse visual element for Link [link1]
4:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_ignored_version_1_0 (0 ms)
4: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_zero_values
4: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_zero_values (0 ms)
4: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_missing_radius_fails
4: Error:   Capsule shape must have both length and radius attributes
4:          at line 227 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: Error:   Could not parse visual element for Link [link1]
4:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_missing_radius_fails (0 ms)
4: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_missing_length_fails
4: Error:   Capsule shape must have both length and radius attributes
4:          at line 227 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: Error:   Could not parse visual element for Link [link1]
4:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_missing_length_fails (0 ms)
4: [ RUN      ] URDF_UNIT_TEST.parse_capsule_geometry_inf_value_fails
4: Error:   radius [inf] is not a valid float
4:          at line 245 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: Error:   Could not parse visual element for Link [link1]
4:          at line 504 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/link.cpp
4: [       OK ] URDF_UNIT_TEST.parse_capsule_geometry_inf_value_fails (0 ms)
4: [ RUN      ] URDF_UNIT_TEST.parse_multiple_capsules_in_same_link
4: [       OK ] URDF_UNIT_TEST.parse_multiple_capsules_in_same_link (0 ms)
4: [----------] 7 tests from URDF_UNIT_TEST (0 ms total)
4: 
4: [----------] Global test environment tear-down
4: [==========] 7 tests from 1 test suite ran. (0 ms total)
4: [  PASSED  ] 7 tests.
 4/10 Test  #4: urdf_schema_capsule_geometry_test_locale ...   Passed    0.00 sec
test 5
      Start  5: urdf_schema_quaternion_test

5: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_schema_quaternion_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_schema_quaternion_test.xml"
5: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
5: Environment variables: 
5:  LC_ALL=C
5: Test timeout computed to be: 240
5: [==========] Running 5 tests from 1 test suite.
5: [----------] Global test environment set-up.
5: [----------] 5 tests from URDF_UNIT_TEST
5: [ RUN      ] URDF_UNIT_TEST.parse_rot_rpy_version_1_0
5: [       OK ] URDF_UNIT_TEST.parse_rot_rpy_version_1_0 (0 ms)
5: [ RUN      ] URDF_UNIT_TEST.parse_rot_quat_ignored_version_1_0
5: Warning: Ignoring quat_xyzw attribute requiring URDF version 1.1 since specified version is 1.0.
5:          at line 113 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/pose.cpp
5: [       OK ] URDF_UNIT_TEST.parse_rot_quat_ignored_version_1_0 (0 ms)
5: [ RUN      ] URDF_UNIT_TEST.parse_rot_quat_version_1_1
5: [       OK ] URDF_UNIT_TEST.parse_rot_quat_version_1_1 (0 ms)
5: [ RUN      ] URDF_UNIT_TEST.parse_rot_both_quat_ignored_version_1_0
5: Warning: Ignoring quat_xyzw attribute requiring URDF version 1.1 since specified version is 1.0.
5:          at line 113 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/pose.cpp
5: [       OK ] URDF_UNIT_TEST.parse_rot_both_quat_ignored_version_1_0 (0 ms)
5: [ RUN      ] URDF_UNIT_TEST.parse_rot_both_error_version_1_1
5: Error:   Both rpy and quat_xyzw orientations are defined. Use either one or the other.
5:          at line 116 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/pose.cpp
5: Error:   Malformed parent origin element for joint [j1]
5:          at line 363 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/joint.cpp
5: Error:   joint xml is not initialized correctly
5:          at line 243 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
5: [       OK ] URDF_UNIT_TEST.parse_rot_both_error_version_1_1 (0 ms)
5: [----------] 5 tests from URDF_UNIT_TEST (0 ms total)
5: 
5: [----------] Global test environment tear-down
5: [==========] 5 tests from 1 test suite ran. (0 ms total)
5: [  PASSED  ] 5 tests.
 5/10 Test  #5: urdf_schema_quaternion_test ................   Passed    0.01 sec
test 6
      Start  6: urdf_schema_quaternion_test_locale

6: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_schema_quaternion_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_schema_quaternion_test_locale.xml"
6: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
6: Environment variables: 
6:  LC_ALL=nl_NL.UTF-8
6: Test timeout computed to be: 240
6: [==========] Running 5 tests from 1 test suite.
6: [----------] Global test environment set-up.
6: [----------] 5 tests from URDF_UNIT_TEST
6: [ RUN      ] URDF_UNIT_TEST.parse_rot_rpy_version_1_0
6: [       OK ] URDF_UNIT_TEST.parse_rot_rpy_version_1_0 (0 ms)
6: [ RUN      ] URDF_UNIT_TEST.parse_rot_quat_ignored_version_1_0
6: Warning: Ignoring quat_xyzw attribute requiring URDF version 1.1 since specified version is 1.0.
6:          at line 113 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/pose.cpp
6: [       OK ] URDF_UNIT_TEST.parse_rot_quat_ignored_version_1_0 (0 ms)
6: [ RUN      ] URDF_UNIT_TEST.parse_rot_quat_version_1_1
6: [       OK ] URDF_UNIT_TEST.parse_rot_quat_version_1_1 (0 ms)
6: [ RUN      ] URDF_UNIT_TEST.parse_rot_both_quat_ignored_version_1_0
6: Warning: Ignoring quat_xyzw attribute requiring URDF version 1.1 since specified version is 1.0.
6:          at line 113 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/pose.cpp
6: [       OK ] URDF_UNIT_TEST.parse_rot_both_quat_ignored_version_1_0 (0 ms)
6: [ RUN      ] URDF_UNIT_TEST.parse_rot_both_error_version_1_1
6: Error:   Both rpy and quat_xyzw orientations are defined. Use either one or the other.
6:          at line 116 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/pose.cpp
6: Error:   Malformed parent origin element for joint [j1]
6:          at line 363 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/joint.cpp
6: Error:   joint xml is not initialized correctly
6:          at line 243 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
6: [       OK ] URDF_UNIT_TEST.parse_rot_both_error_version_1_1 (0 ms)
6: [----------] 5 tests from URDF_UNIT_TEST (0 ms total)
6: 
6: [----------] Global test environment tear-down
6: [==========] 5 tests from 1 test suite ran. (0 ms total)
6: [  PASSED  ] 5 tests.
 6/10 Test  #6: urdf_schema_quaternion_test_locale .........   Passed    0.00 sec
test 7
      Start  7: urdf_unit_test

7: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_unit_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_unit_test.xml"
7: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
7: Environment variables: 
7:  LC_ALL=C
7: Test timeout computed to be: 240
7: [==========] Running 10 tests from 1 test suite.
7: [----------] Global test environment set-up.
7: [----------] 10 tests from URDF_UNIT_TEST
7: [ RUN      ] URDF_UNIT_TEST.test_rotation_get_set_rpy_idempotent
7: 
7: before  x: 0.5 y: -0.5 z: 0.5 w: 0.5  roll: 0 pitch: -1.57079633 yaw: 1.57079633
7: after   x: 0.5 y: -0.5 z: 0.5 w: 0.5  roll: 0 pitch: -1.57079633 yaw: 1.57079633
7: ok      1
7: 
7: before  x: 0.5 y: -0.5 z: 0.500000022 w: 0.499999978  roll: 0 pitch: -1.57079633 yaw: 1.57079633
7: after   x: 0.5 y: -0.5 z: 0.5 w: 0.5  roll: 0 pitch: -1.57079633 yaw: 1.57079633
7: ok      1
7: [       OK ] URDF_UNIT_TEST.test_rotation_get_set_rpy_idempotent (1 ms)
7: [ RUN      ] URDF_UNIT_TEST.test_vector3_simple
7: [       OK ] URDF_UNIT_TEST.test_vector3_simple (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.test_vector3_float
7: [       OK ] URDF_UNIT_TEST.test_vector3_float (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.test_vector3_bad_string
7: [       OK ] URDF_UNIT_TEST.test_vector3_bad_string (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.test_vector3_invalid_number
7: [       OK ] URDF_UNIT_TEST.test_vector3_invalid_number (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.test_vector3_not_enough_numbers
7: [       OK ] URDF_UNIT_TEST.test_vector3_not_enough_numbers (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.test_vector3_too_many_numbers
7: [       OK ] URDF_UNIT_TEST.test_vector3_too_many_numbers (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.parse_joint_doubles
7: [       OK ] URDF_UNIT_TEST.parse_joint_doubles (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.parse_link_doubles
7: [       OK ] URDF_UNIT_TEST.parse_link_doubles (0 ms)
7: [ RUN      ] URDF_UNIT_TEST.parse_color_doubles
7: [       OK ] URDF_UNIT_TEST.parse_color_doubles (0 ms)
7: [----------] 10 tests from URDF_UNIT_TEST (2 ms total)
7: 
7: [----------] Global test environment tear-down
7: [==========] 10 tests from 1 test suite ran. (2 ms total)
7: [  PASSED  ] 10 tests.
 7/10 Test  #7: urdf_unit_test .............................   Passed    0.01 sec
test 8
      Start  8: urdf_unit_test_locale

8: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_unit_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_unit_test_locale.xml"
8: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
8: Environment variables: 
8:  LC_ALL=nl_NL.UTF-8
8: Test timeout computed to be: 240
8: [==========] Running 10 tests from 1 test suite.
8: [----------] Global test environment set-up.
8: [----------] 10 tests from URDF_UNIT_TEST
8: [ RUN      ] URDF_UNIT_TEST.test_rotation_get_set_rpy_idempotent
8: 
8: before  x: 0.5 y: -0.5 z: 0.5 w: 0.5  roll: 0 pitch: -1.57079633 yaw: 1.57079633
8: after   x: 0.5 y: -0.5 z: 0.5 w: 0.5  roll: 0 pitch: -1.57079633 yaw: 1.57079633
8: ok      1
8: 
8: before  x: 0.5 y: -0.5 z: 0.500000022 w: 0.499999978  roll: 0 pitch: -1.57079633 yaw: 1.57079633
8: after   x: 0.5 y: -0.5 z: 0.5 w: 0.5  roll: 0 pitch: -1.57079633 yaw: 1.57079633
8: ok      1
8: [       OK ] URDF_UNIT_TEST.test_rotation_get_set_rpy_idempotent (1 ms)
8: [ RUN      ] URDF_UNIT_TEST.test_vector3_simple
8: [       OK ] URDF_UNIT_TEST.test_vector3_simple (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.test_vector3_float
8: [       OK ] URDF_UNIT_TEST.test_vector3_float (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.test_vector3_bad_string
8: [       OK ] URDF_UNIT_TEST.test_vector3_bad_string (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.test_vector3_invalid_number
8: [       OK ] URDF_UNIT_TEST.test_vector3_invalid_number (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.test_vector3_not_enough_numbers
8: [       OK ] URDF_UNIT_TEST.test_vector3_not_enough_numbers (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.test_vector3_too_many_numbers
8: [       OK ] URDF_UNIT_TEST.test_vector3_too_many_numbers (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.parse_joint_doubles
8: [       OK ] URDF_UNIT_TEST.parse_joint_doubles (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.parse_link_doubles
8: [       OK ] URDF_UNIT_TEST.parse_link_doubles (0 ms)
8: [ RUN      ] URDF_UNIT_TEST.parse_color_doubles
8: [       OK ] URDF_UNIT_TEST.parse_color_doubles (0 ms)
8: [----------] 10 tests from URDF_UNIT_TEST (2 ms total)
8: 
8: [----------] Global test environment tear-down
8: [==========] 10 tests from 1 test suite ran. (2 ms total)
8: [  PASSED  ] 10 tests.
 8/10 Test  #8: urdf_unit_test_locale ......................   Passed    0.01 sec
test 9
      Start  9: urdf_version_test

9: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_version_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_version_test.xml"
9: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
9: Environment variables: 
9:  LC_ALL=C
9: Test timeout computed to be: 240
9: Running main() from /home/user/urdf_ws/src/urdfdom/urdf_parser/test/gtest/src/gtest_main.cc
9: [==========] Running 18 tests from 2 test suites.
9: [----------] Global test environment set-up.
9: [----------] 5 tests from URDF_VERSION
9: [ RUN      ] URDF_VERSION.test_version_wrong_type
9: Error:   The version attribute should be in the form 'x.y'
9:          at line 143 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
9: [       OK ] URDF_VERSION.test_version_wrong_type (0 ms)
9: [ RUN      ] URDF_VERSION.test_version_unsupported_version
9: Error:   Invalid 'version' specified; versions 1.0 to 1.1 are currently supported
9:          at line 143 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
9: [       OK ] URDF_VERSION.test_version_unsupported_version (0 ms)
9: [ RUN      ] URDF_VERSION.test_version_not_specified
9: [       OK ] URDF_VERSION.test_version_not_specified (0 ms)
9: [ RUN      ] URDF_VERSION.test_version_one_int
9: Error:   The version attribute should be in the form 'x.y'
9:          at line 143 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
9: [       OK ] URDF_VERSION.test_version_one_int (0 ms)
9: [ RUN      ] URDF_VERSION.test_version_one_float
9: [       OK ] URDF_VERSION.test_version_one_float (0 ms)
9: [----------] 5 tests from URDF_VERSION (0 ms total)
9: 
9: [----------] 13 tests from URDF_VERSION_CLASS
9: [ RUN      ] URDF_VERSION_CLASS.test_null_ptr
9: [       OK ] URDF_VERSION_CLASS.test_null_ptr (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.numeric_constructor
9: [       OK ] URDF_VERSION_CLASS.numeric_constructor (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.comparison
9: [       OK ] URDF_VERSION_CLASS.comparison (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_correct_string
9: [       OK ] URDF_VERSION_CLASS.test_correct_string (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_too_many_dots
9: [       OK ] URDF_VERSION_CLASS.test_too_many_dots (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_not_enough_numbers
9: [       OK ] URDF_VERSION_CLASS.test_not_enough_numbers (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_no_major_number
9: [       OK ] URDF_VERSION_CLASS.test_no_major_number (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_negative_major_number
9: [       OK ] URDF_VERSION_CLASS.test_negative_major_number (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_negative_minor_number
9: [       OK ] URDF_VERSION_CLASS.test_negative_minor_number (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_no_numbers
9: [       OK ] URDF_VERSION_CLASS.test_no_numbers (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_dots_no_numbers
9: [       OK ] URDF_VERSION_CLASS.test_dots_no_numbers (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_dots_one_number
9: [       OK ] URDF_VERSION_CLASS.test_dots_one_number (0 ms)
9: [ RUN      ] URDF_VERSION_CLASS.test_trailing_junk
9: [       OK ] URDF_VERSION_CLASS.test_trailing_junk (0 ms)
9: [----------] 13 tests from URDF_VERSION_CLASS (0 ms total)
9: 
9: [----------] Global test environment tear-down
9: [==========] 18 tests from 2 test suites ran. (0 ms total)
9: [  PASSED  ] 18 tests.
 9/10 Test  #9: urdf_version_test ..........................   Passed    0.01 sec
test 10
      Start 10: urdf_version_test_locale

10: Test command: /home/user/urdf_ws/build/urdfdom/bin/urdf_version_test "--gtest_output=xml:/home/user/urdf_ws/build/urdfdom/test_results/urdf_version_test_locale.xml"
10: Working Directory: /home/user/urdf_ws/build/urdfdom/urdf_parser/test
10: Environment variables: 
10:  LC_ALL=nl_NL.UTF-8
10: Test timeout computed to be: 240
10: Running main() from /home/user/urdf_ws/src/urdfdom/urdf_parser/test/gtest/src/gtest_main.cc
10: [==========] Running 18 tests from 2 test suites.
10: [----------] Global test environment set-up.
10: [----------] 5 tests from URDF_VERSION
10: [ RUN      ] URDF_VERSION.test_version_wrong_type
10: Error:   The version attribute should be in the form 'x.y'
10:          at line 143 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
10: [       OK ] URDF_VERSION.test_version_wrong_type (0 ms)
10: [ RUN      ] URDF_VERSION.test_version_unsupported_version
10: Error:   Invalid 'version' specified; versions 1.0 to 1.1 are currently supported
10:          at line 143 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
10: [       OK ] URDF_VERSION.test_version_unsupported_version (0 ms)
10: [ RUN      ] URDF_VERSION.test_version_not_specified
10: [       OK ] URDF_VERSION.test_version_not_specified (0 ms)
10: [ RUN      ] URDF_VERSION.test_version_one_int
10: Error:   The version attribute should be in the form 'x.y'
10:          at line 143 in /home/user/urdf_ws/src/urdfdom/urdf_parser/src/model.cpp
10: [       OK ] URDF_VERSION.test_version_one_int (0 ms)
10: [ RUN      ] URDF_VERSION.test_version_one_float
10: [       OK ] URDF_VERSION.test_version_one_float (0 ms)
10: [----------] 5 tests from URDF_VERSION (0 ms total)
10: 
10: [----------] 13 tests from URDF_VERSION_CLASS
10: [ RUN      ] URDF_VERSION_CLASS.test_null_ptr
10: [       OK ] URDF_VERSION_CLASS.test_null_ptr (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.numeric_constructor
10: [       OK ] URDF_VERSION_CLASS.numeric_constructor (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.comparison
10: [       OK ] URDF_VERSION_CLASS.comparison (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_correct_string
10: [       OK ] URDF_VERSION_CLASS.test_correct_string (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_too_many_dots
10: [       OK ] URDF_VERSION_CLASS.test_too_many_dots (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_not_enough_numbers
10: [       OK ] URDF_VERSION_CLASS.test_not_enough_numbers (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_no_major_number
10: [       OK ] URDF_VERSION_CLASS.test_no_major_number (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_negative_major_number
10: [       OK ] URDF_VERSION_CLASS.test_negative_major_number (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_negative_minor_number
10: [       OK ] URDF_VERSION_CLASS.test_negative_minor_number (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_no_numbers
10: [       OK ] URDF_VERSION_CLASS.test_no_numbers (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_dots_no_numbers
10: [       OK ] URDF_VERSION_CLASS.test_dots_no_numbers (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_dots_one_number
10: [       OK ] URDF_VERSION_CLASS.test_dots_one_number (0 ms)
10: [ RUN      ] URDF_VERSION_CLASS.test_trailing_junk
10: [       OK ] URDF_VERSION_CLASS.test_trailing_junk (0 ms)
10: [----------] 13 tests from URDF_VERSION_CLASS (0 ms total)
10: 
10: [----------] Global test environment tear-down
10: [==========] 18 tests from 2 test suites ran. (0 ms total)
10: [  PASSED  ] 18 tests.
10/10 Test #10: urdf_version_test_locale ...................   Passed    0.01 sec

100% tests passed, 0 tests failed out of 10

Total Test time (real) =   0.05 sec
Finished <<< urdfdom [0.09s]

Summary: 1 package finished [0.20s]

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
@scpeters scpeters force-pushed the add/geometry/capsule branch from 003b5b3 to 65924e6 Compare February 4, 2026 21:58
@scpeters
Copy link
Contributor

scpeters commented Feb 5, 2026

the Rpr job is fixed now, and I wasn't able to fix the ROS 2 CI github workflow, so I'll redact the change in 65924e6 and open a separate PR for that

@scpeters scpeters force-pushed the add/geometry/capsule branch from 65924e6 to 6823576 Compare February 5, 2026 01:02
@scpeters scpeters merged commit e6c9575 into ros:rolling Feb 5, 2026
3 of 6 checks passed
@saikishor saikishor deleted the add/geometry/capsule branch February 5, 2026 10:06
@saikishor
Copy link
Contributor Author

Thank you so much

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.

2 participants