引言
本教程介绍ROS的rqt_console
和rqt_logger_level
以及roelaunch
工具。
1. 准备
本节教程需要使用rqt包和turtlesim包。如果没有安装,可以使用以下命令:
$ sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim
2. 使用rqt_console
和rqt_logger_level
工具
rqt_console属于ROS的节点输出记录框架,rqt_logger_level用于改变运行时节点信息输出内容的等级(可以选择DEBUG,WARN,INFO和ERROR)。
我们通过在启动turtlesim前分别在两个终端中启动rqt_console
和rqt_logger_leve
$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level
就可以看到弹出来的两个窗口。
这时,我们在一个新终端中启动turtlesim,可以看到原本在终端中的消息已经可以在rqt_console中看到了。
2.1 记录级别的注意事项
Fatal
Error
Warn
Info
Debug
Fatal拥有最高优先级。Debug优先级最低。它们是向下包含的。
2.2 使用roslaunch
roslaunch工具会根据.launch文件同时启动多个节点。它的用法是:
$ roslaunch [package] [filename.launch]
首先切换到之前我们创建并且构建过的beginner_tutorials文件包。
roscd beginner_tutorials
如果roscd出现类似以下的提示roscd: No such package/stack ‘beginner_tutorials’ 可能是没有运行环境变量脚本文件(setup.bash),它在devel文件夹下。
在beginner_tutorials包文件夹下建立launch文件夹,用于存放.launch文件。(实际上launch文件夹并不是必须要使用“launch”这个名字,甚至这个文件夹也不是必须的。roslaunch工具会自动查找指定包中的.launch文件。)
$ mkdir launch
$ cd launch
2.3 Launch文件
<launch>
<group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
<group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
<node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>
</launch>
2.4 launch文件解释
<launch> //launch文件开始处的launch便签表明了这是一个launch文件。
<group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
<group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
这里启动了两个组,它们是名字为sim的turtlesim节点分别在命名空间turtlesim1和turtlesim2中的实例。使用命名空间这样就不会有名字冲突。
<node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>
这里我们启动mimic节点,将该节点的输入映射到turtlesim1/turtle1,输出映射到turtlesim2/turtle1,这样turtlesim2将会模仿turtlesim1.
</launch>
launch文件结束标志。
2.5 执行roslaunch
roslaunch工具的用法是:
roslaunch package launchfile
例如:
$ roslaunch beginner_tutorials turtlemimic.launch