-
Notifications
You must be signed in to change notification settings - Fork 41
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
Optionally enable an embedded copy of DART 6.10 Open Robotics fork #274
base: ign-physics3
Are you sure you want to change the base?
Optionally enable an embedded copy of DART 6.10 Open Robotics fork #274
Conversation
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Signed-off-by: Jose Luis Rivero <[email protected]>
Codecov Report
@@ Coverage Diff @@
## ign-physics3 #274 +/- ##
=============================================
Coverage 74.63% 74.63%
=============================================
Files 115 115
Lines 4703 4703
=============================================
Hits 3510 3510
Misses 1193 1193 Continue to review full report at Codecov.
|
Signed-off-by: Jose Luis Rivero <[email protected]>
…hysics into jrivero/vendor_external_3
I wonder if it would be possible to solve our problem without having to vendor a copy of DART in ign-physics. Here's what I'm thinking:
|
That sounds promising.
A while back we decided that we wanted to support the upstream DART PPA, as well as the DART version shipped with Ubuntu. I think that it's reasonable to support the version on Ubuntu because it's stable, but upstream is less stable, so it may be more difficult to stay on top of it. Another thing to keep in mind is that the end goal is to melt our fork (#49) 🍴 In summary, I don't think it's unreasonable to require our fork for now, as long as we can satisfy the 1st item. |
I gave it a try and I ran into a couple of issues
|
If we intend for |
If it's the usual ancient-and-never-updating version as is the example of gazebo classic in Bionic, then I'd say supporting this library could bring in a lot of issues if even bugs are not fixed in the ubuntu version (or if pushing the fix takes 3 years as with e.g. urdfdom). |
Yeah it's the same situation. What I meant is that it may be desirable to make sure |
@j-rivero , what's the status of this PR. It's targeted at the Dome branch. Should we table this idea? |
Hmm, how would ROS interfere with ign-physics? IIUC, new Gazebo never runs a ROS library in its own process (contrary to Classic with gazebo_ros_api_plugin). So there doesn't seem to be any potential for conflict. Or am I missing something? Maybe with the newly added Python support, or if somebody uses ign-physics without Gazebo in a ROS library, but I guess those are niche use-cases (and Python support is not available in ign-physics5 at all). So I guess static linking is not required and the RPATH solution with vendored DART should work. Better than vendoring DART like this, I'd suggest creating a packages.osrfoundation.org DEB of DART that would install into a non-system location, and making sure ign-physics (or ign-cmake) can find it and RPATH it.
I agree it'd be good to allow users building against distribution DART. However, different from current behavior, things that are actually broken by that should show loud and clear errors in the log (e.g. the tracked vehicle plugin could check whether DART has the support, and if not, issue an error message; similarly, when there is a joint velocity limit, Gazebo should issue an error that with DART 6.9, it will not be respected). |
🦟 Bug fix
Summary
There are problems affecting ground vehicles simulation when ign-physics is using DART version 6.9, which is the case of the Ubuntu Focal platform where DART comes from Ubuntu repositories.
Some context about how DART is used in ign-physics:
ignition/physics/dartsim/World.hh
(#include <dart/simulation/World.hpp>).libignition-physics3-dartsim-plugin.so.3.2.0
.The PR implements the following:
USE_VENDOR_DART
to build against the internal copy instead of system DART.RPATH/RUNPATH
to make ign-physics libraries to find them automatically.Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge