Parcourir la source

feat: 添加C++发布tf代码

鱼香ROS il y a 2 ans
Parent
commit
0dbe137372

+ 35 - 0
docs/humble/chapt7/get_started/4.坐标变换发布监听C++实现.md

@@ -0,0 +1,35 @@
+## 4.坐标变换发布监听C++实现
+
+因为C++无法在jupyter中直接运行,所以小鱼将C++TF相关的代码放到这里,有需要的同学自取。
+
+
+```cpp
+#include <tf2/utils.h>
+#include <tf2_ros/transform_broadcaster.h>
+
+
+//声明&初始化发布者
+std::unique_ptr<tf2_ros::TransformBroadcaster> tf_broadcaster_;
+tf_broadcaster_ = std::make_unique<tf2_ros::TransformBroadcaster>(this);
+
+//发布
+geometry_msgs::msg::TransformStamped transform;
+transform.header.stamp = this->now();
+transform.header.frame_id = "odom";
+transform.child_frame_id = "base_link";
+// Fill in transform.transform.translation
+transform.transform.translation.x = 0.0;
+transform.transform.translation.y = 0.0;
+transform.transform.translation.z =0.0;
+// Fill in transform.transform.rotation
+auto quat = tf2::Quaternion();
+quat.setRPY(0.0;, 0.0, 0.0);
+transform.transform.rotation.x = 0.0;
+transform.transform.rotation.y = 0.0;
+transform.transform.rotation.z = 0.0;
+transform.transform.rotation.w = 0.0;
+tf_broadcaster_->sendTransform(transform);
+
+```
+
+