-
Notifications
You must be signed in to change notification settings - Fork 162
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: ahcorde <ahcorde@gmail.com>
- Loading branch information
Showing
5 changed files
with
101 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,7 @@ | ||
# rcl | ||
Library to support implementation of language specific ROS Client Libraries. | ||
|
||
- [rcl](rcl/README.md) | ||
- [rcl_action](rcl_action/README.md) | ||
- [rcl_lifecycle](rcl_lifecycle/README.md) | ||
- [rcl_yaml_param_parser](rcl_yaml_param_parser/README.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
`rcl` consists of functions and structs (pure C) organized into ROS concepts: | ||
|
||
- Nodes | ||
- [rcl/node.h](include/rcl/node.h) | ||
- Publisher | ||
- [rcl/publisher.h](include/rcl/publisher.h) | ||
- Subscription | ||
- [rcl/subscription.h](include/rcl/subscription.h) | ||
- Service Client | ||
- [rcl/client.h](include/rcl/client.h) | ||
- Service Server | ||
- [rcl/service.h](include/rcl/service.h) | ||
- Timer | ||
- [rcl/timer.h](include/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): | ||
- rcl_validate_topic_name() | ||
- [rcl/validate_topic_name.h](include/rcl/validate_topic_name.h) | ||
- A function to expand a topic or service name to a fully qualified name: | ||
- rcl_expand_topic_name() | ||
- [rcl/expand_topic_name.h](include/rcl/expand_topic_name.h) | ||
|
||
It also has some machinery that is necessary to wait on and act on these concepts: | ||
|
||
- Initialization and shutdown management | ||
- [rcl/init.h](include/rcl/init.h) | ||
- Wait sets for waiting on messages/service requests and responses/timers to be ready | ||
- [rcl/wait.h](include/rcl/wait.h) | ||
- Guard conditions for waking up wait sets asynchronously | ||
- [rcl/guard_condition.h](include/rcl/guard_condition.h) | ||
- Functions for introspecting and getting notified of changes of the ROS graph | ||
- [rcl/graph.h](include/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](include/rcl/allocator.h) | ||
- Concept of ROS Time and access to steady and system wall time | ||
- [rcl/time.h](include/rcl/time.h) | ||
- Error handling functionality (C style) | ||
- [rcl/error_handling.h](include/rcl/error_handling.h) | ||
- Macros | ||
- [rcl/macros.h](include/rcl/macros.h) | ||
- Return code types | ||
- [rcl/types.h](include/rcl/types.h) | ||
- Macros for controlling symbol visibility on the library | ||
- [rcl/visibility_control.h](include/rcl/visibility_control.h) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
`rcl_action` provides a pure C implementation of the ROS concept of an action. | ||
|
||
It builds on top of the implementation of topics and services in `rcl`. | ||
|
||
`rcl_action` consists of functions and structs for the following ROS action entities: | ||
|
||
- Action client | ||
- [rcl_action/action_client.h](include/rcl_action/action_client.h) | ||
- Action server | ||
- [rcl_action/action_server.h](include/rcl_action/action_server.h) | ||
- Goal handle | ||
- [rcl_action/goal_handle.h](include/rcl_action/goal_handle.h) | ||
- Goal state machine | ||
- [rcl_action/goal_state_machine.h](include/rcl_action/goal_state_machine.h) | ||
|
||
It also has some machinery that is necessary to wait on and act on these entities: | ||
|
||
- Wait sets for waiting on actions clients and action servers to be ready | ||
- [rcl_action/wait.h](include/rcl_action/wait.h) | ||
|
||
Some useful abstractions and utilities: | ||
|
||
- Return codes and other types | ||
- [rcl_action/types.h](include/rcl_action/types.h) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
`rcl_lifecycle` provides a pure C implementation of the ROS concept of lifecycle. It builds on top of the implementation of topics and services in `rcl`. | ||
|
||
`rcl_lifecycle` consists of functions and structs for the following ROS lifecycle entities: | ||
|
||
- Lifecycle states | ||
- Lifecycle transitions | ||
- Lifecycle state machine | ||
- Lifecycle triggers | ||
|
||
Some useful abstractions: | ||
|
||
Return codes and other types [rcl_lifecycle/data_types.h](include/rcl_lifecycle/data_types.h) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters