[Documentation] [TitleIndex] [WordIndex

Standard Units of Measure and Coordinate Systems

Standard units and coordinate conventions for use in ROS have been formalized in REP-0103.

Naming ROS Resources

Names play an important role in ROS and following naming conventions simplifies the process of learning and understanding large systems. This page documents conventions for common ROS resources, though you should familiarize yourself with the ROS name specification before proceeding.

Packages

The ROS packages occupy a flat namespace, so naming should be done carefully and consistently. There is a standard for package naming in REP-144

Topics / services

Topic and service names live in a hierarchical namespace, and client libraries provide mechanisms for remapping them at runtime, so there is more flexibility than with packages. However, it's best to minimize the need for namespacing and name remapping.

Messages

Nodes

Nodes have both a type and name. The type is the name of the executable to launch the node. The name is what is passed to other ROS nodes when it starts up. We separate these two concepts because names must be unique, whereas you may have multiple nodes of the same type.

When possible, the default name of a node should follow from the name of the executable used to launch the node. This default name can be remapped at startup to something unique.

1. Node type names

In general, we encourage the node type names to be short because they are scoped by the package name. For example, if your laser_scan package has a viewer for laser scans, simply call it view (instead of laser_scan_viewer). Thus, when you run it with rosrun, you would type:

rosrun laser_scan view

TF frame_ids

See geometry/CoordinateFrameConventions#Naming.

Global Executables

Executables that go into the global $PATH may have one of two prefixes:

The prefix naming enables easy tab completion for finding ROS tools and also creates a natural mapping between GUI and GUI-less versions of tools (e.g. rosconsole vs. rqt_console).

Informational Distance Measurements

Representation of special conditions within distance measurements like "too close" or "too far" in ROS have been formalized in REP-0117.


2024-12-21 13:06