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:
Message: geometry_msgs/Vector3
The true current position of the sub, given as x, y, z.
Message: geometry_msgs/QuaternionStamped
The true current orientation of the sub, given as quaternion.
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.
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.
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 .
Message: robosub_msgs/HydrophoneDeltas
Simulated hydrophone system output. This is calculated based on the position of the subs hydrophones and the pinger.