-
Notifications
You must be signed in to change notification settings - Fork 310
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
Add Support for SDF #1763
Add Support for SDF #1763
Conversation
Signed-off-by: Aarav Gupta <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add a test with an example SDF here: https://github.com/ros-controls/ros2_control/blob/master/hardware_interface/test/test_component_parser.cpp?
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1763 +/- ##
==========================================
- Coverage 88.01% 87.99% -0.02%
==========================================
Files 121 121
Lines 12403 12411 +8
Branches 1108 1108
==========================================
+ Hits 10916 10921 +5
- Misses 1083 1085 +2
- Partials 404 405 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Signed-off-by: Aarav Gupta <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Amronos The changes look good to me. Can you add that SDF parsing is also supported through robot_description topic in the release_notes.rst?.
Sorry for not pointing out earlier
Signed-off-by: Aarav Gupta <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This is great! Thanks @Amronos |
Are there any updates on when this PR can be reviewed and merged? |
Maintainers were busy with big PRs being merged the last days. We have so many other (older) PRs waiting for reviews, you can speed up the process by also reviewing them. |
The test |
Do you have a non-standard URDF library installed? The CI errors come from this segment
located here https://github.com/ros-controls/ros2_control/pull/1763/files#diff-ae927ba56161377a082def3ca0417c1052c37949d94e27a7713e3f9f798e790eR853 Seems legit to me but I'm wondering how it worked for you :D |
I don't have a non-standard URDF library installed and the test is passing for me. |
I don't think so, it fails on debian, RHEL and ubuntu |
ros-controls/gz_ros2_control#427 should help in testing this PR. |
I am confused. Debian and RHEL are compiling fine now, but the test fails on these systems. What could be different here compared to the ubuntu jobs?
which is fine I guess? |
@christophfroehlich in ros-controls/ros2_debian#11, even though but I don't see |
@azeey you are totally right, i fixed that and CI is happy now. still on RHEL
I was on the wrong track again, because it compiles but behaves differently during runtime. the gz_tools_vendor are merged but failed to build and sdformat_urdf still deactivated. |
It looks like an issue with the build infrastructure. I'm working with @cottsay to get it resolved. |
https://build.ros2.org/job/Jbin_rhel_el964__sdformat_vendor__rhel_9_x86_64__binary/ it seems this fails because tinyxml was not installed for urdf_parser as part of urdfdom
maybe not related to infrastructure, but only a missing dependency on rhel? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks to all involved for pushing this!
The infrastructure issue was resolved, the build failure you're seeing now is legitimate.
Seems like a bug in sdformat or the rosdep rules at first glance. The CMakeLists.txt finds |
Ohh, wait - the include is referenced from the That's a missing dependency from the system package. I'll try to get it fixed upstream. |
The version of liburdfdom-dev in Ubuntu is 4.0.0 whereas in RHEL, it is 1.0.4, so there seems to be a significant difference. I'm not sure what the timeline would be to get the update upstream, so I'll do the the alternative thing and use the |
The same ABI stability we rely on to keep our builds turning over is the source of friction for getting this package updated. It's possible, but intentionally difficult to make such a large jump within a RHEL major. Here's the bugfix to We can work around the problem in the rosdep DB until the update goes stable next week, but it will require re-blooming to take the new rule. If you think that urdfdom 1.0.4 is likely to work and you don't want to wait until next week, I can start that process. |
@cottsay and I spoke offline and agreed that using the ROS package |
@azeey Thank you for following up. Once these PRs are merged, we can trigger the CI. I see that these are released to Rolling and Jazzy. Out of curiosity, with the Humble version of We are making sure when the rolling is compiled from the source, it is compatible on Humble. That's the reason, I'm asking this question. |
We've changed how Gazebo packages (e.g. sdformat) are released into ROS in Jazzy, that's why these releases are necessary. For Humble, |
For now, mainly focusing on the Ubuntu part. @christophfroehlich am I right? |
We have only Ubuntu CI jobs for that. But I'm personally interested in having this running on Debian (I use that in my main project). But if its compilable from source, then everything fine. |
Can the checks be run again? I think they should pass now. |
RHEL is ✅ 🎉 I'm not sure why the Jazzy and Rolling Binary Build checks are failing. The error messages don't seem related to this PR. |
Thank you! Those tests are failing because we have a new function recently released in real-time_tools that isn't in main yet. Good thing we have all the variations of CI setup ;) we are good to merge this as soon as it gets a second approval |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fixes #632
I have modified
hardware_interface/src/component_parser.cpp
to add support for SDF models.To test this out the demos being added through ros-controls/gz_ros2_control#427 can be used.