123456789101112131415161718192021222324252627282930313233 |
- #include <ros/ros.h>
- #include <tf/transform_broadcaster.h>
- int main(int argc, char** argv) {
- // 初始化ROS节点
- ros::init(argc, argv, "laser_frame_publisher");
- ros::NodeHandle nh;
- // 创建TransformBroadcaster对象
- tf::TransformBroadcaster br;
- // 创建一个ROS循环的Rate对象,频率为10Hz
- ros::Rate rate(10.0); // 10 Hz
- while (ros::ok()) {
- // 定义一个tf变换
- tf::Transform transform;
- // 设置平移 (x, y, z)
- transform.setOrigin(tf::Vector3(0.2, 0.0, 0.1));
- // 设置旋转 (四元数)
- tf::Quaternion q;
- q.setRPY(0, 0, 0); // Roll, Pitch, Yaw 为 0
- transform.setRotation(q);
- // 广播这个变换
- br.sendTransform(tf::StampedTransform(transform, ros::Time::now(), "laser", "base_link"));
- // 按指定频率休眠
- rate.sleep();
- }
- return 0;
- }
|