Crate rclrs

Source
Expand description

Rust client library for ROS 2.

For getting started, see the README.

Macros§

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 on rcl_node_t and rcl_context_t by ensuring that these dependencies are dropped after the rcl_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 on rcl_node_t and rcl_context_t by ensuring that these dependencies are dropped after the rcl_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 on rcl_node_t and rcl_context_t by ensuring that these dependencies are dropped after the rcl_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 a Dynamic 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§

Traits§

Functions§

Type Aliases§