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

A state that monitors odometry data and transitions based on a specified count. More...

Inheritance diagram for PrintOdometryState:
Collaboration diagram for PrintOdometryState:

Public Member Functions

 PrintOdometryState ()
 Constructor for the PrintOdometryState class.
std::string monitor_handler (yasmin::Blackboard::SharedPtr blackboard, nav_msgs::msg::Odometry::SharedPtr msg)
 Handler for processing odometry data.
Public Member Functions inherited from yasmin_ros::MonitorState< nav_msgs::msg::Odometry >
 MonitorState (const std::string &topic_name, const yasmin::Outcomes &outcomes, MonitorHandler monitor_handler, rclcpp::QoS qos=10, int msg_queue=10, int timeout=-1, int maximum_retry=3)
 Shared pointer type for MonitorState.
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Execute the monitoring operation and process the first received message.
void cancel_state () override
 Cancel the current monitor state.
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 configure ()
 Configures the state before 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.

Public Attributes

int times
 The number of times the state will process messages.

Additional Inherited Members

Protected Attributes inherited from yasmin_ros::MonitorState< nav_msgs::msg::Odometry >
rclcpp::Node::SharedPtr node_
 Shared pointer to the ROS 2 node.
Protected Attributes inherited from yasmin::State
Outcomes outcomes
 The possible outcomes of this state.

Detailed Description

A state that monitors odometry data and transitions based on a specified count.

This class inherits from yasmin_ros::MonitorState and listens to the "odom" topic for nav_msgs::msg::Odometry messages. The state transitions once a specified number of messages has been received and processed.

Constructor & Destructor Documentation

◆ PrintOdometryState()

PrintOdometryState::PrintOdometryState ( )
inline

Constructor for the PrintOdometryState class.

Member Function Documentation

◆ monitor_handler()

std::string PrintOdometryState::monitor_handler ( yasmin::Blackboard::SharedPtr blackboard,
nav_msgs::msg::Odometry::SharedPtr msg )
inline

Handler for processing odometry data.

This function logs the x, y, and z positions from the odometry message. After processing, it decreases the times counter. When the counter reaches zero, the state transitions to "outcome2"; otherwise, it remains in "outcome1".

Parameters
blackboardShared pointer to the blackboard (unused in this implementation).
msgShared pointer to the received odometry message.
Returns
A string representing the outcome: "outcome1" to stay in the state, or "outcome2" to transition out of the state.

Member Data Documentation

◆ times

int PrintOdometryState::times

The number of times the state will process messages.


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