18 #ifndef COVARIANCE_INSERTION_NODES__COVARIANCE_INSERTION_NODE_HPP_
19 #define COVARIANCE_INSERTION_NODES__COVARIANCE_INSERTION_NODE_HPP_
21 #include <rclcpp/rclcpp.hpp>
22 #include <rclcpp/publisher.hpp>
23 #include <rclcpp/subscription.hpp>
26 #include <mpark_variant_vendor/variant.hpp>
38 namespace covariance_insertion_nodes
52 geometry_msgs::msg::Pose,
53 geometry_msgs::msg::PoseStamped,
54 geometry_msgs::msg::PoseWithCovariance,
55 geometry_msgs::msg::PoseWithCovarianceStamped,
56 geometry_msgs::msg::Twist,
57 geometry_msgs::msg::TwistStamped,
58 geometry_msgs::msg::TwistWithCovariance,
59 geometry_msgs::msg::TwistWithCovarianceStamped>;
74 void create_pub_sub(
const MsgVariant & msg_variant);
77 MsgVariant fill_message_variant(
const std::string & input_msg_type_name);
79 std::unique_ptr<covariance_insertion::CovarianceInsertion> m_core;
80 rclcpp::SubscriptionBase::SharedPtr m_subscription{};
81 rclcpp::PublisherBase::SharedPtr m_publisher{};
82 std::size_t m_history_size{};
83 std::string m_input_topic{};
84 std::string m_output_topic{};
85 std::string m_input_msg_type_name{};
90 #endif // COVARIANCE_INSERTION_NODES__COVARIANCE_INSERTION_NODE_HPP_