freefloating-gazebo/freefloating_gazebo

using freefloating_gazebo without ros

patrickelectric opened this issue · 6 comments

is it possible to have libfreefloating_gazebo_fluid.so working with gazebo without ROS ?
Like this plugin.

In the current state I believe it is not possible as the plugin subscribes and publishes to topics, it will thus not run if gazebo_ros does not exist.

I use this plugin only with ROS and do not plan to modify this part. However it should be easy to copy/paste the plugin files (.h and .cpp) and remove everything related to ROS to create a ROS-agnostic plugin that would only do hydrodynamics damping, without subscribing to water current and without publishing the state of the links.

@oKermorgant thank you for reply.
I'll try to do that and collaborate with your repository the result.

On this topic @oKermorgant do you have any plans to try and upstream this into gazebo itself?
At the moment there is this repo, @patrickelectric's repo, and I will need to create one for the latest gazebo. Seems too many repos to me.

If you have no interest in this at all, any objections to me using this as a base to upstream into Gazebo?

Hi,
Indeed I had to adapt some lines for a Gazebo API change a few versions back, I have not tried yet on more recent Gazebo versions.
I am not sure I have enough time to push this work into Gazebo, they already have a buoyancy plugin with lift/drag from surface and shape and my plugin is quite ROS-oriented, same for the more recent (and possibly more complete uuv-simulator).

I agree that a for the new user, a single entry point is better and I have no objection at all to your proposal. The hydrodynamic modeling part is complete enough, as long as I remember it is mostly missing the capacity to merge several rigidly linked buoyancy parts into a single one, as it is done for the mass / inertia in Gazebo.

Hi @oKermorgant,

Thanks for your reply.

I am not sure I have enough time to push this work into Gazebo, they already have a buoyancy plugin with lift/drag from surface and shape and my plugin is quite ROS-oriented, same for the more recent (and possibly more complete uuv-simulator).

I was not aware of the buoyancy plugin in Gazebo. I assume from my brief look over it, it's a bit less detailed than freefloating?

I am going to do some work porting something to the latest version of ROS2/gazebo for my purposes, I just want to make sure I'm spending my efforts in the way that can benefit others.

Yes, the buoyancy plugin is about applying the required physics on some 3D shape, while freefloating is about overall modeling of an underwater vehicle with added mass and drags (no lift here for now).

I have no plan to port it to latest Gazebo or ROS2 (i use it for teaching and research) but it will for sure come in handy in the future.