ROS学习笔记(五、rqt_console和roslunch的使用)

在笔记四中,我们理解了ros话题的意思,并且学习了ros话题常用的命令,接下来,我们学习使用rqt_console和rqt_logger_level对ros进行调试。

rqt_console属于ros日志框架的一部分,是用来显示节点输出信息的。而rqt_logger_level允许我们修改节点运行时输出信息的日志等级(loggers level)(包括DEBUG、WARN、INFO、ERROR)。

其中有一个专业名词叫日志等级,那日志等级是什么意思呢?为什么要修改日志的等级呢?

首先,日志的意思是记录系统运行过程中的重要信息的文件,ok,既然日志是记录重要信息的文件,那日志等级是啥意思呢?

日志等级的意思是:在ros运行过程中,系统会给出信息,这些信息的重要性按等级排序,我们预先设置的日志等级是哪一个,最终我们就会输出我们预先设置好的等级信息。通俗一点讲就是:这就是一个日志过滤器,可以将低等级的信息筛选掉,留下重要的,需要知道的信息。

-------------------------------------------------------------------------------------------------------

ok,现在,我们理解了rqt_console和rqt_logger_level的意思以及用途,接下来,我们尝试理解roslaunch的意思以及用途。

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>

其中的意思,如下表格所示:

group ns设置命名空间
node pkg节点包
name节点名称
type节点类型(与节点话题类似)
remap允许在master中对话题进行重映射,以解决通信问题。

通过这段代码,我们设置了两个命名空间,并在两个命名空间中分别设置了一样的节点包、节点名称以及节点类型,可以使我们同时打开两个一样的节点而不会产生命名冲突,在最后,启动了模仿节点,让turtlesim2模仿turtlesim1。

-------------------------------------------------------------------------------------------------------------

既然知道了launch文件的作用了,那么我们应该如何去生成一个launch文件呢?

在笔记二中,我们创建了一个功能包test_pkg,接下来,我们将launch文件储存在test_pkg中。

首先,进入test_pkg功能包目录下:

roscd test_pkg

然后,创建一个launch的目录

mkdir launch
cd launch

接着,创建一个名为turtlemimic.launch的文件

touch turtlemimic.launch

接着,打开tutlemimic.launch

gedit turtlemimic.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>

然后,按下save,并在终端里运行turtlemimic.launch文件

roslaunch test_pkg turtlemimic.launch

最终,我们能看见有两个turtlesim的小乌龟显示出来:

至此,我们已经理解了rqt_console和rqt_logger_level日志等级的意思和使用方法以及roslaunch的意思以及使用方法!!!!φ(゜▽゜*)♪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值