Available docs on ROS1 TCPROS protocol

Is there any additional documentation available for the TCPROS protocol?

The links here do a good job explaining the wire protocol for the connection header and the required fields for each participant for different operations: ROS/TCPROS - ROS Wiki

But it’s still a little unclear what the order of operations is. Ideally I’m looking for a sequence diagram containing the rosmaster, a publishing node, and a subscribing node at a minimum (also service client/server). If so, how can I update the linked page and/or wherever this documentation should go if it’s not already present?

Have you already found the ROS Master API documentation, too? I think it answers some of your questions. That page + the pages it links to together + the TCPROS wiki page you mentioned + it’s links was pretty much all I needed when I was working on rosnodejs. Definitely not as clean and complete as it could be, and a diagram would certainly be nice. But maybe it will help you along.

2 Likes

Afaik there isn’t any more documentation than you’ve already found.

What could help though is the TCPROS Wireshark dissector.

Especially when you’re implementing a client library yourself, sniffing the traffic to figure out what roscpp and/or rospy are doing can be helpful.

2 Likes

ROS1 transport protocol consist from 3 parts:

  • ROS Maste API - An API to interact with ROS1 Master node
  • ROS Node API - An API which is used by Master node and nodes themselves to communicate with each other
  • TCPROS - protocol used to transfer data (messages) between the Nodes

Ideally I’m looking for a sequence diagram containing the rosmaster, a publishing node, and a subscribing node at a minimum

Few diagrams covering the topic (not sequence one)