rcl  master
C API providing common ROS client library functionality.
rcl: Common functionality for other ROS Client Libraries

rcl consists of functions and structs (pure C) organized into ROS concepts:

There are some functions for working with "Topics" and "Services":

  • A function to validate a topic or service name (not necessarily fully qualified):
  • A function to expand a topic or service name to a fully qualified name:

It also has some machinery that is necessary to wait on and act on these concepts:

  • Initialization and shutdown management
  • Wait sets for waiting on messages/service requests and responses/timers to be ready
  • Guard conditions for waking up wait sets asynchronously
  • Functions for introspecting and getting notified of changes of the ROS graph

Further still there are some useful abstractions and utilities: