Closed azeey closed 1 month ago
I think that this work could also go in conjunction with a standalone executable for gz-sim
. Right now, a lot of our parsing/startup logic is in the ruby and gz.cc files, and this could be refactored into a cleaner interface that both the cli tooling and a ROS node could use.
Desired behavior
There are a few problems with using the
gz
CLI interface for starting Gazebo from ROS.package://
URIs in Gazebo, one way of solving it, (1) from https://github.com/ros/sdformat_urdf/pull/20#issuecomment-1696208691, is to add a URI handler to sdformat. But we can't do this without running something before an SDF files are loaded.LoadSdfPlugin
event. However, this needs to be done outside of a system.gz::sim::Server
.Alternatives considered
gz-sim
to allow loading plugins at startup. I think this would be nice to have, but I don't think it'd solve all the problems because somethings need to be done outside of a plugin scope.Implementation suggestion
I propose we implement a ROS node that runs Gazebo using
gz::sim::Server
. This would make it a lot easier to customize Gazebo in a way that's optimized for ROS users.