Skip to main content

Module name

Module name 

Source
Expand description

ROS 2 topic and service names: validation and the mapping onto middleware names.

ROS 2 names are not free-form strings; the rules (from the ROS 2 design) bound what is legal and how a name reaches the middleware. A name is /-separated tokens of alphanumerics and underscores; a token never starts with a digit; the name never has an empty token (//), a doubled underscore (__), or a trailing /. A leading / makes it fully qualified; a leading ~/ is the private namespace; balanced {} are runtime substitutions. On the wire DDS adds a one-character subsystem prefix, rt for topics and rq/rr for the two halves of a service.

Enums§

EntityKind
The ROS 2 subsystem a name belongs to, which fixes its DDS prefix.

Functions§

dds_topic
Maps a fully qualified ROS 2 name to its DDS topic name.
is_fully_qualified
Returns whether a name is fully qualified: valid, absolute, and free of substitutions.
is_valid_name
Returns whether a string is a valid ROS 2 topic or service name.
percent_mangle
Mangles a name by replacing each / with %, as rmw_zenoh does in liveliness tokens.