ROS

TF学习笔记(一)- tf介绍

2017-03-21  本文已影响432人  Savior2016

为了跟上时代,仍然以最新版本的kinetic为例学习,主要是它命令行比较好看,不过,都用命令行了,要什么自行车
开始搬轮子

1 首先安装实例代码

输入以下代码:

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

2 运行例子

运行:

roslaunch turtle_tf turtle_tf_demo.launch

然后会看到这个:

demo

选择刚才启动的命令行窗口,可以用键盘控制乌龟移动,另一只乌龟就会追上来。

3 发生了什么

这个例子使用tf库创建了3个坐标框架:一个world框架,一个乌龟1框架,一个乌龟2框架。这个教程使用了一个tf广播,推送小海龟坐标框架,还有一个tf收听者,计算坐标框架的差异,移动另一只乌龟跟随前一只。

4 tf 工具

4.1 使用view_frame

view_frames 创建了一个被tf广播的frame的图表
rosrun tf view_frames

将会看到:

qkingros@ubuntu:~$ rosrun tf view_frames
Listening to /tf for 5.000000 seconds
Done Listening
dot - graphviz version 2.38.0 (20140413.2041)

Detected dot version 2.38
frames.pdf generated

查看创建的图表:

evince frames.pdf
frame

4.2 使用rqt_tf_tree

输入:
rosrun rqt_tf_tree rqt_tf_tree
或者
rqt &
然后点TAB

rqt_tree

4.3 使用tf_echo

用法:
rosrun tf tf_echo [reference_frame] [target_frame]
看一下我们的例子:
rosrun tf tf_echo turtle1 turtle2

Paste_Image.png

5 rviz和tf

运行:
rosrun rviz rviz -drospack find turtle_tf/rviz/turtle_rviz.rviz

gensui

用这个可以看到当乌龟在动的时候,坐标系也在动
下面就看一下它们是怎么写出来的。

上一篇下一篇

猜你喜欢

热点阅读