rcl: Common functionality for other ROS Client Libraries

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

  • Nodes

    • rcl/node.h

  • Publisher

    • rcl/publisher.h

  • Subscription

    • rcl/subscription.h

  • Service Client

    • rcl/client.h

  • Service Server

    • rcl/service.h

  • Timer

    • rcl/timer.h

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

    • rcl/init.h

  • Wait sets for waiting on messages/service requests and responses/timers to be ready

    • rcl/wait.h

  • Guard conditions for waking up wait sets asynchronously

    • rcl/guard_condition.h

  • Functions for introspecting and getting notified of changes of the ROS graph

    • rcl/graph.h

Further still there are some useful abstractions and utilities:

  • Allocator concept, which can be used to control allocation in rcl_* functions

    • rcl/allocator.h

  • Concept of ROS Time and access to steady and system wall time

    • rcl/time.h

  • Error handling functionality (C style)

    • rcl/error_handling.h

  • Macros

    • rcl/macros.h

  • Return code types

    • rcl/types.h

  • Macros for controlling symbol visibility on the library

    • rcl/visibility_control.h

Page Hierarchy

Class Hierarchy

File Hierarchy

Reference

Classes and Structs

Enums

Functions

Variables

Defines

Typedefs

Directories

Files

Pages