C++ YASMIN (Yet Another State MachINe)
Loading...
Searching...
No Matches
yasmin_ros::TfBufferState Class Reference

State that creates a tf2 buffer and transform listener. More...

#include <tf_buffer_state.hpp>

Inheritance diagram for yasmin_ros::TfBufferState:
Collaboration diagram for yasmin_ros::TfBufferState:

Public Member Functions

 TfBufferState ()
 Shared pointer type for TfBufferState.
void configure () override
 Read the configured parameters.
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Create the tf2 buffer/listener pair and store them in the blackboard.
Public Member Functions inherited from yasmin::State
 State (const Outcomes &outcomes)
 Shared pointer type for State.
virtual ~State ()
 Virtual destructor.
Blackboard::SharedPtr get_parameters_blackboard () const
 Gets the private parameter blackboard of this state.
bool is_idle () const noexcept
 Checks if the state is idle.
bool is_running () const noexcept
 Checks if the state is currently running.
bool is_canceled () const noexcept
 Checks if the state has been canceled.
bool is_completed () const noexcept
 Checks if the state has completed execution.
std::string operator() (Blackboard::SharedPtr blackboard)
 Executes the state and returns the outcome.
virtual void cancel_state ()
 Cancels the current state execution.
Outcomes const & get_outcomes () const noexcept
 Gets the set of possible outcomes for this state.
void set_description (const std::string &description)
 Sets the description for this state.
const std::string & get_description () const
 Gets the description of this state.
void set_outcome_description (const std::string &outcome, const std::string &description)
 Sets a human-readable description for an outcome.
const std::string & get_outcome_description (const std::string &outcome) const
 Gets the human-readable description for an outcome.
const std::unordered_map< std::string, std::string > & get_outcome_descriptions () const
 Gets all outcome descriptions.
void add_input_key (const BlackboardKeyInfo &key_info)
 Adds an input key to the state's metadata.
void add_input_key (const std::string &key_name)
 Adds an input key with a name only.
void add_input_key (const std::string &key_name, const std::string &description)
 Adds an input key with a name and description.
template<typename T>
void add_input_key (const std::string &key_name, const std::string &description, T default_value)
 Adds an input key with a name, default value and description.
void add_output_key (const BlackboardKeyInfo &key_info)
 Adds an output key to the state's metadata.
void add_output_key (const std::string &key_name)
 Adds an output key with a name only.
void add_output_key (const std::string &key_name, const std::string &description)
 Adds an output key with a name and description.
const std::vector< BlackboardKeyInfo > & get_input_keys () const
 Gets the input keys metadata.
const std::vector< BlackboardKeyInfo > & get_output_keys () const
 Gets the output keys metadata.
void declare_parameter (const BlackboardKeyInfo &parameter_info)
 Declares a parameter in the state metadata.
void declare_parameter (const std::string &parameter_name)
 Declares a parameter with a name only.
void declare_parameter (const std::string &parameter_name, const std::string &description)
 Declares a parameter with a name and description.
template<typename T>
void declare_parameter (const std::string &parameter_name, const std::string &description, T default_value)
 Declares a parameter with a name, description, and default value.
bool has_parameter (const std::string &parameter_name) const
 Checks if a parameter exists in the state-local parameter storage.
template<typename T>
T get_parameter (const std::string &parameter_name) const
 Gets a parameter from the state-local parameter storage.
template<typename T>
void set_parameter (const std::string &parameter_name, T value)
 Sets a parameter in the state-local parameter storage.
bool is_parameter_declared (const std::string &parameter_name) const
 Checks whether a parameter was declared in the state metadata.
void copy_parameter_from (const State &source_state, const std::string &source_parameter_name, const std::string &target_parameter_name)
 Copies a parameter value from another state.
const std::vector< BlackboardKeyInfo > & get_parameters () const
 Gets the declared parameter metadata.
const StateMetadata & get_metadata () const
 Gets the complete state metadata.
virtual std::string to_string () const
 Converts the state to a string representation.

Private Attributes

rclcpp::Node::SharedPtr node_
 Node used to create the tf2 listener subscriptions.
double cache_time_sec_
 Buffer cache duration in seconds.

Additional Inherited Members

Protected Attributes inherited from yasmin::State
Outcomes outcomes
 The possible outcomes of this state.

Detailed Description

State that creates a tf2 buffer and transform listener.

The created objects are stored in the blackboard under the keys "tf_buffer" and "tf_listener" so that following states can reuse the same listener for transform lookups.

Constructor & Destructor Documentation

◆ TfBufferState()

yasmin_ros::TfBufferState::TfBufferState ( )

Shared pointer type for TfBufferState.

Construct a new TfBufferState.

Member Function Documentation

◆ configure()

void yasmin_ros::TfBufferState::configure ( )
overridevirtual

Read the configured parameters.

Reimplemented from yasmin::State.

◆ execute()

std::string yasmin_ros::TfBufferState::execute ( yasmin::Blackboard::SharedPtr blackboard)
overridevirtual

Create the tf2 buffer/listener pair and store them in the blackboard.

Parameters
blackboardBlackboard used to share the created objects.
Returns
The execution outcome.

Reimplemented from yasmin::State.

Member Data Documentation

◆ cache_time_sec_

double yasmin_ros::TfBufferState::cache_time_sec_
private

Buffer cache duration in seconds.

◆ node_

rclcpp::Node::SharedPtr yasmin_ros::TfBufferState::node_
private

Node used to create the tf2 listener subscriptions.


The documentation for this class was generated from the following files: