昨天粗略看了一下ros中rviz的用法。事实,他就是一个可视化的工具。wiki的用户手册:http://wiki.ros.org/rviz/UserGuide
今天在学习tf的教程时,首先是演示了一个demo。tf教程链接:http://wiki.ros.org/tf/Tutorials/Introduction%20to%20tf
笔者按照教程操作,在最后使用这个命令:
$ rosrun rviz rviz -d `rospack find turtle_tf`/rviz/turtle_rviz.rviz
显示出来的并不是教程中截图的那样,而是:
左边并没有和教程中一样,中间的三维图也没有任何显示。这个样子就像直接用rosrun rviz rviz 命令打开一样。也就是 `rospack find turtle_tf`/rviz/turtle_rviz.rviz 这个文件没有找到,或者内容不对,才会导致打开的rviz不是教程中的那样。
那么,怎么办呢?
首先,先把左上角的Global Options下面的Fixed Frame左边的map改为world,这时,Global Status就会变成ok状态。
然后在左下角选中Add,添加一个TF的display。这样就会看到中间三维图中有三个座标了。其中两个分别是两个乌龟的座标,中间不动的是世界座标。接下来移动乌龟,两个座标就会跟着动了。
理解一下rviz中左边那些显示项(Display)的本质是什么。实际上,那些东西是一个模型一样的东西,用一个座标系来代笔一个乌龟,乌龟所做的动作,座标系就会相应的变化。这个变化时怎么知道的呢?就是Frame那里,它会接收对应的消息,然后根据消息做出相应的动作。