【ROS学习】-tf学习(tf_monitor、tf_echo、static_transform_publisher、view_frames)

写在前面

本文的内容主要来自 ros wiki 上的教程:http://wiki.ros.org/tf

简短总结:
tf_monitor : 将当前的坐标系转换关系打印到终端控制台。
tf_echo <source_frame> <target_frame> :把特定的坐标系之间的平移旋转关系,打印到终端控制台。
static_transform_publisher: 发布一个父坐标系到子坐标系的静态tf转换,偏移x/y/z (单位是m),旋转是欧拉角(或者四元数) ,这里的周期period_in_ms,是这个tf的发布周期,设置为100ms(也就是10hz)是一个很好的值。
view_frames : 可以输出当前的tf关系到pdf中。
roswtf: 帮助你找到tf中的错误。

一、tf_monitor

tf_monitor :将当前的坐标系转换关系打印到终端控制台。

rosrun tf tf_monitor

打印结果:
在这里插入图片描述

tf_monitor <source_frame> <target_target>:打印特定的坐标系关系
比如:

rosrun tf tf_monitor /map /base_link

打印结果:
在这里插入图片描述

二、tf_echo

tf_echo <source_frame> <target_frame> :把特定的坐标系之间的平移旋转关系,打印到终端控制台。

rosrun tf tf_echo /map /base_link

打印结果:
在这里插入图片描述

三、static_transform_publisher

这个是最重要的命令,既可以在命令行使用,也可以在launch文件使用,并且经常在launch文件中使用。主要有下面两种形式:

  1. 发布一个父坐标系到子坐标系的静态tf转换,偏移x/y/z (单位是m),旋转是欧拉角 yaw/pitch/roll (单位是弧度 rad),这里 yaw是关于Z轴的旋转,pitch是关于关于Y轴的旋转,roll是关于X轴的旋转。这里的周期period_in_ms,是这个tf的发布周期,设置为100ms(也就是10hz)是一个很好的值。
static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms

在launch文件中使用格式:

<launch>
	<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0   0 0 0 link1_parent_frame link1_child_frame 100" />
</launch>
  1. 发布一个父坐标系到子坐标系的静态tf转换,偏移x/y/z (单位是m),旋转是四元数 qx qy qz qw ,这里的周期period_in_ms,是这个tf的发布周期,设置为100ms(也就是10hz)是一个很好的值。
static_transform_publisher x y z qx qy qz qw frame_id child_frame_id  period_in_ms

在launch文件中使用格式:

<launch>
	<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0    0 0 0 1 link1_parent_frame link1_child_frame 100" />
</launch>

四、view_frames

view_frames 是一个图形化的调试工具,并且可以输出当前的tf关系到pdf中。
运行以下指令,可以让你在当前目录下得到一个 frames.pdf 和 frames.gv (可以理解为是一种图片)

rosrun tf view_frames

五、roswtf

roswtf: 帮助你找到tf中的错误。

运行效果:
在这里插入图片描述

参考链接:
[1] tf : http://wiki.ros.org/tf

  • 5
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值