02-TF-tf介绍
描述 教程介绍了tf的实际应用,并展示了使用 turtlesim 的多机器人示例. 同时介绍了 tf_echo , view_frames , rqt_tf_tree , rviz 等参数的使用。
安装必要程序包:
此时开启两个乌龟:
在roslaunch运行的terminal中 通过键盘控制乌龟。
此时可以发现第二个乌龟会跟随第一个乌龟行动。
原理解析:
这个demo使用tf库建立了三个坐标系:世界坐标系,海龟1坐标系,海龟2坐标系。教程使用 tf broadcaster 发布海龟坐标系,使用 tf listener 计算海龟坐标系的差异并使得一个海龟跟随另一个海龟。
现在我们探索一个demo中rf是如何工作的,我们可以使用rf工具查看后台的rf工作情况。
view_frames创建tf发布的坐标系的图标
可以看到:
tf listener 监听ROS发布的坐标系,并将坐标系的关联用树状图表示:
从图上得知,tf创建了三个坐标系:世界坐标系,海龟1坐标系,海龟2坐标系,其中世界坐标系是海龟坐标系的父坐标系。view_frames也报道了tf发布频率和最新的坐标系与最旧坐标系的诊断信息用于 debugging
rqt_tf_tree 是一个实时显示坐标系状态的工具,通过图上的更新按键可以实时更新状态。
使用:
或:
然后选择 rqt_tf_tree
tf_echo显示了任意两个坐标系的变换信息
使用:
此时坐标系的关系如图所示
坐标表换通过 tf_echo listener 显示
当控制海龟运动,可以看到两个坐标系的相对运动。
rviz 是一个可视化工具,rviz在测试tf坐标系非常有帮助,下面测试一下rviz 中的坐标系,使用 turtle_tf 开启rviz
在侧边栏可以看到tf坐标系信息,当控制海龟运动时,坐标系在rviz中也随着运动。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!