ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 8 学习ROS的rqt_console和roslaunch命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jrc_january/article/details/76046681

引言

本教程介绍ROS的rqt_consolerqt_logger_level以及roelaunch工具。

1. 准备

本节教程需要使用rqt包和turtlesim包。如果没有安装,可以使用以下命令:

$ sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim

2. 使用rqt_consolerqt_logger_level工具

rqt_console属于ROS的节点输出记录框架,rqt_logger_level用于改变运行时节点信息输出内容的等级(可以选择DEBUG,WARN,INFO和ERROR)。
我们通过在启动turtlesim前分别在两个终端中启动rqt_consolerqt_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

猜你喜欢

转载自blog.csdn.net/jrc_january/article/details/76046681
今日推荐