gazebosim / gz-sim

Open source robotics simulator. The latest version of Gazebo.
https://gazebosim.org
Apache License 2.0
721 stars 272 forks source link

Port USV plugins from gazebo #1247

Open iche033 opened 2 years ago

iche033 commented 2 years ago

There are a set of gazebo plugins for USVs in the VRX repo: https://github.com/osrf/vrx/tree/master/usv_gazebo_plugins

This ticket tracks the progress of porting of those plugins to Ignition gazebo systems:

Once the plugins are ported, an example world should be provided to demonstrate the support of USVs in Ignition gazebo.

Desired behavior

Ability to simulation USV models with configurable dynamics / thruster params.

Additional context

Related work is porting of the wave model to Ignition so that the USV vehicle motion is influenced by wave motion.

chapulina commented 2 years ago

usv_gazebo_dynamics_plugin

This looks like ignition::gazebo::systems::Hydrodynamics. It even links to the original plugin.

One thing to note is that the plugin has been added without tests in #749, I've been meaning to add some tests soon.

We also have a fork of it on LRAUV because some bugs have been fixed. Those should be upstreamed soon, progress is tracked here: https://github.com/osrf/lrauv/issues/37

usv_gazebo_thrust_plugin

Maybe ignition::gazebo::systems::Thruster can be extended to support all features on that plugin.

usv_gazebo_wind_plugin

It looks similar to ignition::gazebo::systems::WindWffects, I think the functionality could be combined.

buoyancy_gazebo_plugin

I think the core functionality should be achieved with ignition::gazebo::systems::Buoyancy, but note that it's a world plugin instead of a model plugin. It also seems to have some different parameters, not sure if the drag is best kept at LiftDrag or Hydrodynamics.

iche033 commented 2 years ago

after some discussion with @caguero. The plan is:

caguero commented 2 years ago

We'll extend the Thruster plugin to support the articulation of the thruster.