ROS学习之tf.1.tf简介

ROS.tf1.tf简介

声明:本教程来自于ROS.WIKI,本人在整理过程中可能出现一些错误和问题,有问题可以去查看官网版本也可以咨询本人



1.安装必要的一些东西

$ sudo apt-get install ros-indigo-ros-tutorials
$ ros-indigo-geometry-tutorials ros-indigo-rviz ros-indigo-rosbash
$ ros-indigo-rqt-tf-tree


2.运行演示

$ roslaunch turtle_tf turtle_tf_demo.launch
 
  
2.1你可以在右侧的终端窗口通过方向键控制中心龟的移动,可以看到跟随龟会跟着移动

 
  
 
  
 
   
  
2.2此演示使用tf库创建三个坐标框架:世界框架turtle1框架和turtle2框架。
本教程使用tf广播器发布乌龟坐标框架和tf侦听器来计算乌龟框架中的差异,并将一只乌龟移动到另一只乌龟的后面。
3.现在让我们看看如何使用tf来创建此演示。
我们可以使用tf工具来查看幕后的工作情况。
3.1使用view_frames
view_frames创建一个由tf通过ROS广播的框架的图表。
$ rosrun tf view_frame

ROS学习之tf.1.tf简介_第1张图片

 
  
这里一个tf监听器正在监听正在通过ROS进行广播的框架,并绘制了框架如何连接的树。
3.2 查看树:
$ evince frames.pdf
 
  

在这里,我们可以看到由tf广播的三个框架:世界,turtle1turtle2。我们也可以看到这个世界是turtle1turtle2框架的母体。出于调试的目的,view_frames还会报告一些关于何时接收到最旧和最近帧转换的诊断信息,以及tf帧向tf发布的速度。

3.3使用rqt_tf_tree
rqt_tf_tree是一个运行时工具,用于可视化通过ROS广播的框架树。
只需通过图左上角的刷新底部即可刷新树。
$ rosrun rqt_tf_tree rqt_tf_tree

ROS学习之tf.1.tf简介_第2张图片
现在我们已经检查了turtle_tf_demo,让我们看看如何为这个演示编写广播器。(C++)。

 
  
3.4使用tf_echo
tf_echo报告通过ROS广播的任何两个框架之间的转换。
用法:
$rosrun tf tf_echo [reference_frame] [target_frame]
$ rosrun tf tf-echo turtle1 turtle2
 
  



当你驾驶你的乌龟时,你会看到两只乌龟相对于彼此移动的变化。

4.1
rviztf

rviz是一个可视化工具,可用于检查tf框架。
让我们看看我们的乌龟帧使用rviz。
让我们使用rviz-d选项启动rviz并使用turtle_tf配置文件:

$rosrun rviz rviz -d`rospack find turtle_tf` / rviz / turtle_rviz.rviz

 
  

在侧栏中,您将看到由tf广播的框架。当你驾驶乌龟时,你会看到在rviz中移动的框架。

现在我们已经检查了turtle_tf_demo,让我们看看如何为这个演示编写广播器。(C++)。

你可能感兴趣的:(ROS)