[Documentation] [TitleIndex] [WordIndex

UDPROS

UDPROS is a transport layer (in development) for ROS Messages and Services. It uses standard UDP datagram packets to transport serialized message data. The UDPROS transport is useful when latency is more important than reliable transport. Examples in the robotics domain include teleoperation as well as streaming audio.

UDPROS exchanges the connection header in the XML-RPC negotiation. For more general information about the ROS connection header format, see Connection Header.

Contents

Connection Negotiation

Datagram Format

ROS messages are sent across the network as a series of UDPROS datagrams. The maximum size of the UDPROS datagram is negotiated in the XML-RPC connection (see above).

Each UDP datagram contains a UDPROS header, followed by message data. The format of the header is as follows:

+---------------------------------+
|          Connection ID          |
+---------------------------------+
|Opcode | Msg ID |    Block #     |
+---------------------------------+

ROS messages are sent to the subscriber in one or more UDPROS datagrams. The first datagram contains the total number of datagrams to expect. Each datagram contains a header followed by serialized ROS message data. The maximum amount of message data per datagram is determined during the connection negotiation. Only the final datagram of a message will contain fewer than the maximum number of bytes.

Test Plan


2024-03-23 12:23