Program Listing for File utils.hpp

Return to documentation for file (include/bitbots_utils/utils.hpp)

#ifndef BITBOTS_UTILS__UTILS_H_
#define BITBOTS_UTILS__UTILS_H_

#include <tf2_ros/buffer.h>

#include <chrono>
#include <rclcpp/rclcpp.hpp>
#include <string>
#include <vector>

using namespace std::chrono_literals;

namespace bitbots_utils {

void wait_for_tf(const rclcpp::Logger &logger, std::shared_ptr<rclcpp::Clock> clock, tf2_ros::Buffer *tf_buffer,
                 const std::vector<std::string> &frames, const std::string &root_frame,
                 const rclcpp::Duration &check_interval = rclcpp::Duration(0.1s),
                 const rclcpp::Duration &warn_duration = rclcpp::Duration(5.0s),
                 const rclcpp::Duration &warn_interval = rclcpp::Duration(1.0s), bool verbose = true);

std::map<std::string, rclcpp::Parameter> get_parameters_from_other_node(rclcpp::Node::SharedPtr own_node,
                                                                        const std::string &other_node_name,
                                                                        const std::vector<std::string> &parameter_names,
                                                                        const std::chrono::seconds &service_timeout);

}  // namespace bitbots_utils

#endif  // BITBOTS_UTILS__UTILS_H_