Expand description
Rust client library for ROS 2.
For getting started, see the README.
Macros§
- log a message to rosout
- Debug log message. See
log
for usage. - Error log message. See
log
for usage. - Fatal log message. See
log
for usage. - Info log message. See
log
for usage. - Warning log message. See
log
for usage.
Structs§
- This struct is given to the discriminator function of the
ParameterBuilder
so 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_t
andrcl_context_t
by 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::RosTime
is 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
ToLogParams
to 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_t
andrcl_context_t
by 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_t
andrcl_context_t
by 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_t
enum 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
Logger
struct) 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
ParameterValue
but also includes aDynamic
variant for dynamic parameters. - A parameter value.
- Describes errors that can be generated when trying to set a parameter’s value.
- The
DURABILITY
DDS QoS policy. - A duration that can take two special values: System default and infinite.
- The
HISTORY
DDS QoS policy. - The
LIVELINESS
DDS QoS policy. - The
RELIABILITY
DDS QoS policy. - Return codes of
rcl
functions. - 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
ClockQos
from therclcpp
package. Same as sensor data but with a history depth of 1 - Equivalent to
rmw_qos_profile_default
from thermw
package. - Equivalent to
rmw_qos_profile_parameters
from thermw
package. - Equivalent to
rmw_qos_profile_parameter_events
from thermw
package. - Equivalent to
rmw_qos_profile_sensor_data
from thermw
package. - Equivalent to
rmw_qos_profile_services_default
from thermw
package. - Equivalent to
rmw_qos_profile_system_default
from thermw
package.
Traits§
- Trait to be implemented by concrete Client structs.
- This trait allows
Context
to create a basic executor. - This trait helps to build
NodeOptions
which 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
Subscription
s. - 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.