1.创建包
mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_create_pkg learning_tf tf roscpp rospy turtlesim
建立你的新包roscd之前:
cd ~/catkin_ws
catkin_make
source ./devel/setup.bash
这时功能包就已经构建完成了。
此时打开Roboware studio 在/learning_tf/src下编写TF广播器(turtle_tf_broadcaster.cpp ):
#include <ros/ros.h>
#include <tf/transform_broadcaster.h>
#include <turtlesim/Pose.h>
std::string turtle_name;
void poseCallback(const turtlesim::PoseConstPtr& msg){
static tf::TransformBroadcaster br;
tf::Transform transform;
transform.setOrigin( tf::Vector3(msg->x, msg->y, 0.0) );
tf::Quaternion q;
q.setRPY(0, 0, msg->theta);
transform.setRotation(q);
br.sendTransform(tf::StampedTransform(transform, ros::Time::now(), "world", turtle_name));
}
int main(int argc, char** argv){
ros::init(argc, argv, "my_tf_broadcaster");
if (argc !=