[ROS-Beginner]8.使用 rqt_console 和 roslaunch

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ROS-Beginner]8.使用 rqt_console 和 roslaunch相关的知识,希望对你有一定的参考价值。

1. 本文要求装有rqtturtlesim packages,安装代码:

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

2. 使用rqt_console和rqt_logger_level

  rqt_console与ROS的日志框架(logging framework)有关,可以显示节点的输出。

  rqt_logger_level可以在节点运行的时候改变他们的verbosity level。

  在开始turtlesim之前,我们在两个terminal中运行rqt_console和rqt_logger_level

$ rosrun rqt_console rqt_console

3. 在新的terminal运行turtlesim

4. 默认的logger level是INFO,因此可以看到有关turtlesim发布的任何信息,如:

技术分享图片

5. 将logger level改成Warn,输入以下代码,让让乌龟碰上墙:

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}}‘

   得到以下结果:

技术分享图片

6. logger levels的优先级顺序

Fatal
Error
Warn
Info
Debug

   logger level选了Warn之后会得到Warn, Error和 Fatal的logging messages.(相同以及更高)

7. 使用roslaunch

 (1)roslaunch按照launch文件中的定义来启动nodes

 (2)进入此前的package文件夹

$ cd ~/catkin_ws
$ source devel/setup.bash
$ roscd beginner_tutorials

 (3)创建launch文件夹

$ mkdir launch
$ cd launch

  注意:文件夹并不是一定要名称为launch,甚至不需要这个文件夹,roslaunch会自动搜索package中的launch文件。

 (4)roslaunch的用法

$ roslaunch [package] [filename.launch]

8. launch文件的写法

 (1)创建文件turtlemimic.launch

 (2) 复制以下内容:

<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>

 (3)launch文件讲解: <launch>确保文件被识别为launch文件,接下来有两个组,namespace tag是turtlesim1 和 turtlesim2,并且有turtlesim节点的名字,这可以使我们在启用两个simulator时不冲突。

接下来是mimic节点,topics的输入和输出是turtlesim1和turtlesim2,这样可以让turtlesim2模拟turtlesim1。最后一行xml tag代表关闭这个launch file。

9. launch file

 (1)输入

$ roslaunch beginner_tutorials turtlemimic.launch

 (2)在新的terminal输入

$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- ‘[2.0, 0.0, 0.0]‘ ‘[0.0, 0.0, -1.8]‘

 (3) 使用rqt_graph来更好理解launch file做了什么。

    两种方法:一个是先输入rqt,然后在窗口中选Plugins > Introspection > Node Graph

$ rqt

        另一种是直接输入

$ rqt_graph

        如下图

技术分享图片

 

以上是关于[ROS-Beginner]8.使用 rqt_console 和 roslaunch的主要内容,如果未能解决你的问题,请参考以下文章

[ROS-Beginner]10.创建一个ROS msg和srv

我缺少啥来阻止 Beep 在我的 Mac 10.5.8 上响起(使用 MonoDevelop 2.8.8.2)?

8. 异常

Elasticsearch7.8和Logstash7.8使用JDK的版本

Elasticsearch7.8和Logstash7.8使用JDK的版本

如何使用二维np数组作为输入来创建networkx图