本教程介绍如何使用rqt_console和rqt_logger_level进行调试,以及如何使用roslaunch同时运行多个节点。
1 用rqt_console和rqt_logger_level
rqt_console属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息。rqt_logger_level允许我们修改节点运行时输出信息的日志等级(logger levels)(包括 DEBUG、WARN、INFO和ERROR)。
现在让我们来看一下turtlesim在rqt_console中的输出信息,同时在rqt_logger_level中修改日志等级。在启动turtlesim之前先在另外两个新终端中运行rqt_console和rqt_logger_level:
rosrun rqt_console rqt_console
rosrun rqt_logger_level rqt_logger_level

日志等级说明
日志等级按以下优先顺序排列:
Fatal
Error
Warn
Info
Debug
Fatal是最高优先级,Debug是最低优先级。通过设置日志等级你可以获取该等级及其以上优先等级的所有日志消息。比如,将日志等级设为Warn时,你会得到Warn、Error和Fatal这三个等级的所有日志消息。
现在让我们按Ctrl-C退出turtlesim节点,接下来我们将使用roslaunch来启动多个turtlesim节点和一个模仿节点以让一个turtlesim节点来模仿另一个turtlesim节点。
2 使用roslaunch
roslaunch可以用来启动定义在launch文件中的多个节点。
用法:
$ roslaunch [package] [filename.launch]
先切换到beginner_tutorials程序包目录下:
$ roscd beginner_tutorials
然后创建一个launch文件夹:
$ mkdir launch
$ cd launch
launch文件
创建一个名为turtlemimic.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>
<node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>
</launch>
在这里我们创建了两个节点分组并以’命名空间(namespace)‘标签来区分,其中一个名为turtulesim1,另一个名为turtlesim2,两个组里面都使用相同的turtlesim节点并命名为’sim’。这样可以让我们同时启动两个turtlesim模拟器而不会产生命名冲突。
启动模仿节点,并将所有话题的输入和输出分别重命名为turtlesim1和turtlesim2,这样就会使turtlesim2模仿turtlesim1。
roslaunch
通过roslaunch命令来启动launch文件:
$ roslaunch beginner_tutorials turtlemimic.launch
现在将会有两个turtlesims被启动,然后我们在一个新终端中使用rostopic命令发送速度设定消息:
$ rostopic pub /turtlesim1/turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0 -1.8

我们也可以通过rqt_graph来更好的理解在launch文件中所做的事情:
$ rqt_graph
# 或者
$ rosrun rqt_graph rqt_graph

2014



被折叠的 条评论
为什么被折叠?



