1.使用rqt_console和rqt_logger_level
rqt_console附加到ROS的日志记录框架以显示节点的输出。 rqt_logger_level允许我们在节点运行时更改其详细级别(DEBUG,WARN,INFO和ERROR)。
- 在开始/turtlesim_node之前,查看一下rqt_console和rqt_logger_level窗口:
rosrun rqt_console rqt_console
rosrun rqt_logger_level rqt_logger_level


- 现在让我们开始turtlesim
rosrun turtlesim turtlesim_node
由于默认的记录器级别是INFO,因此您将看到turtlesim启动时发布的所有信息,其外观应类似于:

-
现在,通过刷新rqt_logger_level窗口中的节点并选择Warn,将记录器级别更改为Warn,如下所示:
- 现在,让我们的乌龟驶入墙壁,看看rqt_console中显示的内容:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

- 日志记录级别按以下顺序排列优先级:
Fatal
Error
Warn
Info
Debug
致命的优先级最高,而调试的优先级最低。通过设置记录器级别,您将获得该优先级或更高级别的所有消息。例如,通过将级别设置为“警告”,您将获得所有警告,错误和致命日志消息。
2.roslaunch
roslaunch用来一次性启动文件中定义的一个或多个节点。
- 让我们使用roslaunch来建立多个turtlesim节点,并使用一个模仿节点来使一个turtlesim模仿另一个turtlesim:
1.首先转到我们之前创建和构建的beginner_tutorials包:
roscd beginner_tutorials
如果roscd表示类似roscd的内容:没有这样的package / stack'beginner_tutorials',则您将需要设置环境变量:
cd ~/catkin_ws source devel/setup.bash roscd beginner_tutorials
2.然后让我们创建一个启动目录:
mkdir launch
cd launch
3.现在,我们创建一个名为turtlemimic.launch的启动文件,并粘贴以下内容:
<!--在这里,我们使用启动标签启动启动文件,以便将该文件标识为启动文件。-->
<launch>
<!--在这里,我们以名称为turtlesim1和turtlesim2的命名空间标签(带有名为sim的turtlesim节点)开始两个组。这使我们可以启动两个模拟器而不会出现名称冲突。-->
<group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
<group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
<!--在这里,我们以主题输入和输出重命名为turtlesim1和turtlesim2来启动模拟节点。重命名将使turtlesim2模仿turtlesim1。-->
<node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>
<!--这将关闭启动文件的xml标记。-->
</launch>
4.现在让我们启动启动文件:
roslaunch beginner_tutorials turtlemimic.launch

这里我们只使用一条命令启动了两个小乌龟, 不再需要打开三个终端,再执行:
roscore rosrun turtlesim turtlesim_node __name:=turtlesim1 rosrun turtlesim turtlesim_node __name:=turtlesim2
- 查看节点之间的联系
rosrun rqt_graph rqt_graph


