The communication with the LRAUV is done using Gazebo transport. It provides message passing, services, and data logging. It can use either topics or services. To have a look at what are the main ones that will be used in an LRAUV simulation here is a snapshot of the common ones when running something like gz sim buoyant_tethys.sdf
.
Here are the topics clasified by the Plugin or Entity responsible of them.
Topic |
Message |
Usage |
/chlorophyll |
gz::msgs::Float_V |
Sensor readings for chlorophyll based on data loaded through csv . |
/temperature |
gz::msgs::Float_V |
Sensor readings for temperature based on data loaded through csv . |
/salinity |
gz::msgs::Float_V |
Sensor readings for salinity based on data loaded through csv . |
/current |
gz::msgs::Vector3d |
Sensor readings for current based on data loaded through csv . |
/science_data |
gz::msgs::PointCloudPacked |
Topic to publish the science data point cloud. |
/model/tethys/chlorophyll |
gz::msgs::Float_V |
Sensor readings for chlorophyll based on data loaded through csv . |
/model/tethys/current |
gz::msgs::Float_V |
Sensor readings for temperature based on data loaded through csv . |
/model/tethys/salinity |
gz::msgs::Float_V |
Sensor readings for salinity based on data loaded through csv . |
/model/tethys/temperature |
gz::msgs::Float_V |
Sensor readings for temperature based on data loaded through csv . |
/world/science_sensor/environment_data_path |
gz::msgs::StringMsg |
Subscribes to this topic for updates on new environment data files. |
Topic |
Message |
Usage |
/model/tethys/battery/linear_battery/state |
gz::msgs.BatteryState |
State of the linear battery. This plugin may publish other topics if enabled through the SDF configuration. |
Topic |
Message |
Usage |
/model/tethys/buoyancy_engine |
gz::msgs::Double |
Subscribes to this topic. This is the set point for the engine. Defaults to /buoyancy_engine if no <namespace> was defined. |
/model/tethys/buoyancy_engine/current_volume |
gz::msgs::Double |
Publishes the current volume. Defaults to /buoyancy_engine if no <namespace> was defined. |
Topic |
Message |
Usage |
/model/tethys/drop_weight |
gz::msgs::Empty |
Listens on this topic for deattaching connections. Topic defined through <topic> . |
Topic |
Message |
Usage |
/model/tethys/joint/battery_joint/0/cmd_pos |
gz::msgs::Double |
Joint position controller for the battery joint, defaults to "/model/<model_name>/joint/<joint_name>/<joint_index>/cmd_pos" if no <topic> is provided. |
/model/tethys/joint/horizontal_fins_joint/0/cmd_pos |
gz::msgs::Double |
Joint position controller for the horizontal fins joint, defaults to "/model/<model_name>/joint/<joint_name>/<joint_index>/cmd_pos" if no <topic> is provided. |
/model/tethys/joint/vertical_fins_joint/0/cmd_pos |
gz::msgs::Double |
Joint position controller for the vertical fins joint, defaults to "/model/<model_name>/joint/<joint_name>/<joint_index>/cmd_pos" if no <topic> is provided. |
Topic |
Message |
Usage |
/model/tethys/joint/propeller_joint/cmd_vel |
gz::msgs::Double |
Topic to receive joint velocity commands. The plugin will listen on the topic /model/{namespace}/joint/{joint_name}/cmd_thrust or /model/{namespace}/joint/{joint_name}/cmd_vel depending on the mode of operation (see <velocity_control> ). |
/model/tethys/joint/propeller_joint/force |
gz::msgs::Double |
If <use_angvel_cmd> is set to true it publishes force in Newtons instead to /model/{ns}/joint/{joint_name}/force . |
Topic |
Message |
Usage |
/tethys/ahrs/imu |
gz::msgs::IMU |
Topic to publish IMU vertical position, angular velocity and lienar acceleration readings. |
Topic |
Message |
Usage |
/tethys/ahrs/magnetometer |
gz::msgs::Magnetometer |
Topic to report the magnetic field in its current location. |
Topic |
Message |
Usage |
/world/buoyant_tethys/dynamic_pose/info |
gz::msgs::Pose_V |
Dynamic pose publisher, for non-static model poses. |
/world/buoyant_tethys/pose/info |
gz::msgs::Pose_V |
Pose publisher. |
/world/buoyant_tethys/scene/deletion |
gz::msgs::UInt32_V |
Topic used by the scene broadcaster to request entities to be removed. |
/world/buoyant_tethys/state |
gz::msgs::SerializedSetpMap |
Topic where state is published |
/world/buoyant_tethys/scene/info |
gz::msgs::Scene |
Topic where scene are published. |
Topic |
Message |
Usage |
/world/science_sensor/environment_data_path |
gz::msgs::StringMsg |
This plugin will publish the data file path here when loaded through the GUI. |
Topic |
Message |
Usage |
/world/buoyant_tethys/clock |
gz::msgs::Clock |
Server world clock. |
/world/buoyant_tethys/stats |
gz::msgs::Clock |
Provides statistics about the world, such as the time elapsed and the paused state. |
Topic |
Message |
Usage |
/clock |
gz::msgs::Clock |
Publishes Gazebo simulation time. |
/stats |
gz::msgs::Clock |
Provides statistics about the simulation, such as the time elapsed and the paused state. |
Most of the services that appear when running gz sim buoyant_tethys.sdf
belong to gazebo plugins so please refer to the [official Gazebo documentation] for more info. The services more closely related to LRAUV, clasified by their plugin or entity responsible are: