The package builds two Gazebo plugins:
-
freefloating_gazebo_fluid (world plugin) simulates buoyancy and viscous force from water
-
freefloating_gazebo_control (model plugin) opens topics for thrusters and joints, in order to control the considered robots
An external PID controler is available: pid_control.
These PID's allow position, velocity or effort control of the vehicle body and joints.
Subscribes to setpoint and states, and publishes on the thruster and torque topics that are subscribed to by the freefloating_gazebo_control plugin.
Private parameters body_control
and joint_control
allow setting the default mode (body: position / velocity / effort (body wrench), joint: position / velocity / effort).
This PID advertises the corresponding services to switch some of the axis (joint names or x, y, z, roll, pitch, yaw) to another type of control.
The examples can be downloaded from the freefloating_gazebo_demo package.
Please use the following reference when citing this work: