mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
Loading...
Searching...
No Matches
transform_broadcaster.h
1#ifndef TRANSFORM_BROADCASTER_H
2#define TRANSFORM_BROADCASTER_H
3
4#include <rclcpp/rclcpp.hpp>
5#include <tf2_ros/transform_broadcaster.h>
6
7namespace mrs_lib
8{
9
10 /* TransformBroadcaster //{ */
11
19 {
20
21 public:
23 struct NotInitializedException : public std::exception
24 {
25 const char* what() const throw()
26 {
27 return "TransformBroadcaster: not initialized! Call the constructor and pass the node pointer.";
28 }
29 };
30
35
39 TransformBroadcaster(const rclcpp::Node::SharedPtr& node);
40
46 void sendTransform(const geometry_msgs::msg::TransformStamped& transform);
47
53 void sendTransform(const std::vector<geometry_msgs::msg::TransformStamped>& transforms);
54
55 private:
56 rclcpp::Node::SharedPtr node_;
57
61 std::shared_ptr<tf2_ros::TransformBroadcaster> broadcaster_;
62
69 std::map<std::string, rclcpp::Time> last_messages_;
70 };
71 //}
72
73} // namespace mrs_lib
74
75#endif // TRANSFORM_BROADCASTER_H
Wrapper for the tf2_ros::TransformBroadcaster. With each sendTransform() command, the message is chec...
Definition transform_broadcaster.h:19
void sendTransform(const geometry_msgs::msg::TransformStamped &transform)
check if the transform is newer than the last published one and publish it. Transform is skipped if a...
Definition transform_broadcaster.cpp:23
TransformBroadcaster()
constructor, internally starts the TransformBroadcaster
Definition transform_broadcaster.cpp:8
All mrs_lib functions, classes, variables and definitions are contained in this namespace.
Definition attitude_converter.h:24
is thrown when calculating of heading is not possible due to atan2 exception
Definition transform_broadcaster.h:24