tf学习
学习完ROS wiki后做个简单的笔记,链接ROS-wiki-tf-learning
以下的每点都是对应着链接中tutorial每个章节,遗忘不解时请翻看
1.tf发布器
tf::TransformBroadcaster br; //创建一个发布器
tf::Transform transform; //创建一个变换
//填入变换
tf::Quaternion q;
q.setRPY(0, 0, msg->theta);
transform.setRotation(q);
transform.setOrigin( tf::Vector3(position.x, position.y, 0.0) );
//调用函数发布变换,需要的参数:变换,时间戳,参考坐标系,自己的坐标系
br.sendTransform(tf::StampedTransform(transform,
ros::Time::now(), "world", turtle_name));
2.tf监听器
tf::TransformListener listener;
while (node.ok()){
tf::StampedTransform transform;
try{
//寻找要监听的两个坐标系,使用transform输出变换
listener.lookupTransform("/turtle2", "/turtle1",
ros::Time(0), transform);
}
catch (tf::TransformException ex){
ROS_ERROR("%s"