This page is stale and should be updated.
====== ROS Topics ======
This page is a description of all the topics we are using (or plan to use) on the sub. Below is a symbolic representation of data flow on the sub (with sensors as we have right now).
{{:cs:topics_list:node_graph.png?800|}}
===== Sensors =====
==== /orientation ====
Message: [[http://docs.ros.org/api/geometry_msgs/html/msg/Quaternion.html | geometry_msgs/Quaternion ]] \\
The current orientation of the sub, given as a quaternion. Any code wanting to know the sub's orientation should use this topic, not /orientation/rpy.
==== /pretty/orientation ====
Message: [[https://github.com/PalouseRobosub/robosub/blob/master/msg/Euler.msg | robosub/Euler ]] \\
The current orientation of the sub, given in roll, pitch, yaw. This is meant just for human readability of the sub's orientation, code should use the /orientation topic.
==== /depth ====
Message: [[ http://docs.ros.org/jade/api/std_msgs/html/msg/Float32.html | std_msgs/Float32 ]] \\
The current depth of the sub.
===== Movement =====
==== /thruster ====
Message: [[https://github.com/PalouseRobosub/robosub/blob/master/msg/thruster.msg|robosub/thruster]] \\
Dynamic array of commands going to the thrusters. Order of the thrusters is dependent on their order in the settings file.
==== /control ====
Message: [[ https://github.com/PalouseRobosub/robosub/blob/master/msg/control.msg | robosub/control ]] \\
Send messages to this topic to move the sub around, the control system subscribes to this topic.
==== /joystick_driver ====
Message: [[ https://github.com/PalouseRobosub/robosub/blob/master/msg/joystick.msg| robosub/joystick]]
This is the raw joystick state, published by the joystick driver. Shows the current state of all axes and buttons on the joystick.
==== /gamepad_driver ====
Message: [[https://github.com/PalouseRobosub/robosub/blob/master/msg/gamepad.msg | robosub/gamepad]]
This is the raw gamepad state, published by the gamepad driver. Shows the current state of all axes and buttons on the gamepad.
===== Vision =====
==== /camera/(left|right|bottom)/image ====
Message: [[https://github.com/ros-drivers/pointgrey_camera_driver/blob/master/wfov_camera_msgs/msg/WFOVImage.msg | wfov_camera_msgs/WFOVImage]] \\
Images from our cameras.
==== /vision ====
Message: [[https://github.com/PalouseRobosub/rs_yolo/blob/master/msg/DetectionArray.msg | rs_yolo/DetectionArray]] \\
Results of the deep vision processing system. It's a list detailing all the objects it sees.
===== Hydrophones =====
==== /hydrophones/[Frequency]/deltas ====
Message: Duplicated for all frequencies in the pool. Contains the latest time deltas between the reference and other 3 hydrophones.
Header header
duration d1
duration d2
duration d3
==== /hydrophones/[Frequency]/timestamps ====
Message: Duplicated for all frequencies in the pool. Contains the latest timestamps recorded by the system.
Header header
Time ref
Time t1
Time t2
Time t3
==== /hydrophones/[Frequency]/debug ====
Message: Used for debugging the hydrophone system.
Header header
Int64 frequency
Int64 avg_sig_strength
Float64 approx_angle
==== /hydrophones/bearing ====
Message: [[http://docs.ros.org/api/geometry_msgs/html/msg/Vector3Stamped.html | geometry_msgs/Vector3Stamped]] \\
A 3-dimensional vector pointing at the pinger in $i,j,k$ notation.