rclcpp
provides the canonical C++ API for interacting with ROS. It consists of these main components:
- Node
- Publisher
- Subscription
- Service Client
- Service Server
- Timer
- Parameters:
- Rate:
There are also some components which help control the execution of callbacks:
- Executors (responsible for execution of callbacks through a blocking spin):
- CallbackGroups (mechanism for enforcing concurrency rules for callbacks):
Additionally, there are some methods for introspecting the ROS graph:
- Graph Events (a waitable event object that wakes up when the graph changes):
- List topic names and types:
- Get the number of publishers or subscribers on a topic:
And components related to logging:
Finally, there are many internal API's and utilities:
- Exceptions:
- Allocator related items:
- Generic publisher
- Generic subscription
- Memory management tools:
- Context object which is shared amongst multiple Nodes:
- Various utilities: