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)