(1)launch启动文件
目前,我们启动节点时,都是一个节点需要一个终端,例如小海龟
该启动文件可以自动启动ROS节点管理器
并自动配置与其相关联的所有节点
启动文件的核心是启动ROS节点,采用标签定义,语法如下:
<node pkg=“package-name” type=“executable-name” name=“node-name” />
在启动文件中启动一个结点需要三个属性:pkg,type,name。
pkg:定义节点所在功能包名称;
type:定义可执行文件名称;
这两个属性相当于在终端中输入命令行执行。
name:定义节点运行名称,将覆盖节点中init()赋予节点的名称。
重映射机制
类似于起别名,在使用别人的工具包时会出现接口不相同的情况,通过launch文件中的重映射机制,可提高代码的复用率。
<remap from=“别人的话题名” to=“我们的话题名”>
(2)TF功能包(坐标变换)
tf_monitor:
打印TF树中所有坐标系的发布状态,也可以通过输入参数来查看指定坐标系之间的发布状态:
tf_monitor
tf_monitor <source_frame> <target_frame>
tf_echo:
查看指定坐标系之间的变换关系
tf_echo <source_frame> <target_frame>
tf_frames:
可视化调试工具,生成PDF文件,显示TF树关系:
rosrun tf view_frames
evince frames.pdf
海龟例程中的TF
1.安装TF功能包:
sudo apt-get install ros-kinetic-turtle-tf
2.使用命令运行例程
roslaunch turtle_tf turtle_tf_demo.launch
3.打开键盘控制节点,控制中心位置小乌龟运行
rosrun turtlesim turtle_teleop_key
后面那只小乌龟会跟着它一起运动
4.使用TF工具,查看该例程TF树
这里是需要在之前做过sudo rosdep init,如果没有的话,他会提示你是空的,需要重新初始化
rosrun tf view_frames

5.使用tf_echo,查看乌龟坐标系之间的关系:
rosrun tf tf_echo turtle1 turtle2

6.使用rviz图形界面,更形象看到两者之间的关系:
rosrun rviz rviz -d 'rospack find turtle _tf'/rviz/turtle_rviz.rviz
版权声明:本文为weixin_44773732原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。