Table of Contents

Simulator Bridge

The simulator bridge is ROS node which subscribes to the /gazebo/model_states message that gazebo publishes. The model states message (ModelStates) contains position, orientation, linear velocity, and angular velocity for each model in the simulator. This includes the sub, the top of the water, the start gate, the pinger, etc. The simulator bridge is responsible for taking the model states input and outputting the following information on the specified topics:

/position

Message: geometry_msgs/Vector3
The true current position of the sub, given as x, y, z.

/orientation

Message: geometry_msgs/QuaternionStamped
The true current orientation of the sub, given as quaternion.

/orientation/pretty

Message: robosub_msgs/Euler
The true current orientation of the sub, given as roll, pitch, yaw. This is for human readability only. Any nodes wishing to make use of this data should subscribe to the /orientation topic.

/depth

Message: robosub_msgs/Float32Stamped
The true current depth of the sub, calculated by subtracting the z position of the sub from the z position of the top of the water.

/obstacles/positions

Message: robosub_msgs/ObstaclePosArray
The true current position of a list of obstacles in the pool. This list is taken from the robosub_simulator/obstacles.yaml .

/hydrophone/30khz/delta

Message: robosub_msgs/HydrophoneDeltas
Simulated hydrophone system output. This is calculated based on the position of the subs hydrophones and the pinger.