Expand description
Rust client library for ROS 2.
For getting started, see the README.
Macros§
- log a message to rosout
- Debug log message. See
logfor usage. - Error log message. See
logfor usage. - Fatal log message. See
logfor usage. - Info log message. See
logfor usage. - Warning log message. See
logfor usage.
Structs§
- This struct is given to the discriminator function of the
ParameterBuilderso it knows what values are available to choose from. - Main class responsible for sending requests to a ROS service.
- Manage the lifecycle of an
rcl_client_t, including managing its dependencies onrcl_node_tandrcl_context_tby ensuring that these dependencies are dropped after thercl_client_t. - Struct that implements a Clock and wraps
rcl_clock_t. - A clock source that can be used to drive the contained clock. Created when a clock of type
ClockType::RosTimeis constructed - Shared state between nodes and similar entities.
- Single-threaded executor implementation.
- A waitable entity used for waking up a wait set manually.
- Additional options for initializing the Context.
- A message that is owned by the middleware, loaned for publishing.
- These parameters determine the behavior of an instance of logging.
- Logger can be passed in as the first argument into one of the logging macros provided by rclrs. When passing it into one of the logging macros, you can optionally apply any of the methods from
ToLogParamsto tweak the logging behavior. - A parameter that must have a value This struct has ownership of the declared parameter. Additional parameter declaration will fail while this struct exists and the parameter will be undeclared when it is dropped.
- Additional information about a received message.
- A processing unit that can communicate with other nodes.
- Stores a node’s name and namespace
- A set of options for creating a
Node. - A parameter that might not have a value, represented by
Option<T>. This struct has ownership of the declared parameter. Additional parameter declaration will fail while this struct exists and the parameter will be undeclared when it is dropped. - Builder used to declare a parameter. Obtain this by calling
crate::Node::declare_parameter. - Options that can be attached to a parameter, such as description, ranges. Some of this data will be used to populate the ParameterDescriptor
- Describes the range for paramter type T.
- Contains all the possible type of ranges that can be applied to a value. Usually only one of these ranges will be applied, but all have to be stored since:
- Allows access to all parameters via get / set functions, using their name as a key.
- Struct for sending messages of type
T. - An identifier for a publisher in the local context.
- A Quality of Service profile.
- Struct encapsulating an error message from the rcl layer or below.
- A message that is owned by the middleware, loaned out for reading.
- A parameter that must have a value and cannot be written to This struct has ownership of the declared parameter. Additional parameter declaration will fail while this struct exists and the parameter will be undeclared when it is dropped.
- A list of entities that are ready, returned by
WaitSet::wait. - Main class responsible for responding to requests sent by ROS clients.
- Manage the lifecycle of an
rcl_service_t, including managing its dependencies onrcl_node_tandrcl_context_tby ensuring that these dependencies are dropped after thercl_service_t. - A bundle of optional conditions that a user may want to impose on how long an executor spins for.
- Struct for receiving messages of type
T. - Manage the lifecycle of an
rcl_subscription_t, including managing its dependencies onrcl_node_tandrcl_context_tby ensuring that these dependencies are dropped after thercl_subscription_t. - Struct that represents time.
- Contains topic endpoint information
- A struct for waiting on subscriptions and other waitable entities to become ready.
Enums§
- An enum capturing the various possible function signatures for subscription callbacks.
- Enum to describe clock type. Redefined for readability and to eliminate the uninitialized case from the
rcl_clock_type_tenum in the binding. - Error that can be generated when doing operations on parameters.
- Specify when a log message should be published
- This is used to borrow a logger name which might be validated (e.g. came from a
Loggerstruct) or not (e.g. a user-defined&str). If an unvalidated logger name is used with one of the logging macros, we will log an error about it, and the original log message will be logged with the default logger. - Describes the parameter’s type. Similar to
ParameterValuebut also includes aDynamicvariant for dynamic parameters. - A parameter value.
- Describes errors that can be generated when trying to set a parameter’s value.
- The
DURABILITYDDS QoS policy. - A duration that can take two special values: System default and infinite.
- The
HISTORYDDS QoS policy. - The
LIVELINESSDDS QoS policy. - The
RELIABILITYDDS QoS policy. - Return codes of
rclfunctions. - The main error type.
- An error that occured when trying to convert a parameter from an
rcl_interfaces::msg::ParameterValue - This parameter can specify a type of clock for a logger to use when throttling.
Constants§
- Equivalent to
ClockQosfrom therclcpppackage. Same as sensor data but with a history depth of 1 - Equivalent to
rmw_qos_profile_defaultfrom thermwpackage. - Equivalent to
rmw_qos_profile_parametersfrom thermwpackage. - Equivalent to
rmw_qos_profile_parameter_eventsfrom thermwpackage. - Equivalent to
rmw_qos_profile_sensor_datafrom thermwpackage. - Equivalent to
rmw_qos_profile_services_defaultfrom thermwpackage. - Equivalent to
rmw_qos_profile_system_defaultfrom thermwpackage.
Traits§
- Trait to be implemented by concrete Client structs.
- This trait allows
Contextto create a basic executor. - This trait helps to build
NodeOptionswhich can be passed intoExecutor::create_node. - Convenience trait for
Publisher::publish. - A trait that describes a value that can be converted into a parameter.
- A helper trait to disregard timeouts as not an error.
- Trait to be implemented by concrete Service structs.
- Trait to be implemented by concrete
Subscriptions. - A trait for allowed callbacks for subscriptions.
- Methods for defining the behavior of a logging instance.
Functions§
- The default discriminator that chooses the initial value for a parameter. The implementation here uses a simple preference of
- Extract non-ROS arguments from program’s input arguments.
Type Aliases§
- Stores a list of types associated with each topic.