- 创建功能包
- 创建tf广播器代码
/**
* 该例程产生tf数据,并计算、发布turtle2的速度指令
*/
#include <ros/ros.h>
#include <tf/transform_broadcaster.h>
#include <turtlesim/Pose.h>
std::string turtle_name;
void poseCallback(const turtlesim::PoseConstPtr& msg)
{
// 创建tf的广播器
static tf::TransformBroadcaster br;
// 初始化tf数据,填充坐标系之间的映射关系
tf::Transform transform;
transform.setOrigin( tf::Vector3(msg->x, msg->y, 0.0) );//因为是平面,所以Z是0.0
tf::Quaternion q;
q.setRPY(0, 0, msg->theta);
transform.setRotation(q);
// 广播world与海龟坐标系之间的tf数据,通过sendTransform方法把我们的位置关系发布出去,后台的TF TREE会将这两者的关系插入到树中
br.sendTransform(tf::StampedTransform(transform, ros::Time::now(), <