文档章节

8.使用rqt_console和roslaunch

HuangJC
 HuangJC
发布于 2017/05/09 00:32
字数 686
阅读 100
收藏 0

8.1使用rqt_console和rqt_logger_level

rqt_console是ros日志框架(logging framework)一部分,用来显示节点的输出信息。

rqt_logger_level允许我们修改节点输出信息的日记等级(包括DEBUG,WARN,INFO和ERROR)

现在看一下turtlesim在rqt_console中输出的信息,同事在rqt_logger_level修改日记等级。

首先,确保已经ros初始化

roscore

其次,启动console

rosrun rqt_console rqt_console

会弹出

顺便把logger_level启动

rosrun rqt_logger_level rqt_logger_level

弹出(说明下,下图我已经改成了warm)

现在启动turtlesim_node

rosrun turtlesim turtlesim_node

此时能在console中多了一行

从第三格可知道,默认日记等级是info。

那我们尝试在logger_level中修改一下等级,将nodes是/rosout/,loggers是ros,levels从info改成warm

通过命令行话题方式让turtle动起来并观察console输出。

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0,0.0,0.0]' '[0.0,0.0,0.0]'

会看到

8.2日志说明

日记等级

Fatal>Error>Warn>Info>Debug

就是Fatal优先级最高,然后依次降低。如果将等级设置为warn,你只会收到warn以上优先等级的信息,也就是warn,error和fatal。

8.3使用roslaunch

roslaunch用法: roslaunch [package] [filename.launch]

先打开turtlesim的终端,按下ctrl+c退出。

然后切换到beginner_tutorials程序包下:

roscd beginner_tutorials

如果roscd失败,也许是环境变量原因(如果跟着我步骤,基本没这个问题),没问题请忽略紧跟的下一条指令

export ROS_PACKAGE_PATH=~/indigo_workspace/sandbox:$ROS_PACKAGE_PATH

然后创建一个launch文件夹并进入该文件夹:

mkdir launch
cd launch

然后创建一个turtlemimic.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>

8.4launch文件解析

第一行<launch>表示是一个launch文件

接着就是创建两个group(也就是节点分组啦),并以ns(命名空间namespace)区分,一个是turtlesim1,另一个是turtlesim2。两个组都使用相同的节点sim,这样可以同时启动两个turtlesim模拟器而不会产生命名冲突。

第三部分也就是<node pkg...>开头处到</node>,这里启动模仿节点,话题输入和输出分别重命名为turtlesim1,和turtlesim2,并让turtlesim2模仿turtlesim1.

最后一行</launch>是launch文件的结束标签。

8.5roslaunching

通过roslaunch命令来启动launch

roslaunch beginner_tutorials turtlemimic.launch

会弹出两个turtlesim窗口,然后我们在新终端使用rostoick命令发送速度设置消息

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

然后两个窗口的乌龟都做同样的运动。

可以通过rqt_graph更好理解launch,在新终端下

rqt_graph

会弹出

 

© 著作权归作者所有

HuangJC
粉丝 0
博文 32
码字总数 39927
作品 0
佛山
私信 提问
ubuntu14.04 +ros indigo +kinect(xbox360) 启动

1. 安装驱动 sudo apt-get install libfreenect-dev sudo apt-get install ros-indigo-freenect-launch 2.启动:roslaunch freenect_launch freenect.launch 3查看: rosrun imageview image......

v7xyy
2017/10/22
0
0
ROS kinetic 机器视觉

ROS 中的图像数据 二维图像 显示图像类型 kinetic@vm:~$ roslaunch usbcam usbcam-test.launch kinetic@vm:~$ rostopic list /imageview/output /imageview/parameterdescriptions /imagevie......

youshijian99
2018/05/11
0
0
ROS学习笔记(三)先锋机器人的使用 — 参考 ROS wiki 和 Mobile wiki

–参考方案: 找到了关于p3-dx的一些关于ROS的资料 https://github.com/ManolisCh/pioneerp3dx https://github.com/SeRViCE-Lab/p3-dx http://wiki.ros.org/demopioneer 先锋机器人ROS的教程......

David_Han008
2017/01/25
0
0
ROS roslaunch 学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yiranhaiziqi/article/details/52949121 roslaunch 用处:将多个rosnode 结合起来,一起运行。这样就不需要一...

ImportSUC
2016/10/27
0
0
turtlebot二代机器人实用操作

联网!连接!打开机器人开关!(使用二代换成roomba) 一、遥控 1、 turtlebot接收命令:roslaunch turtlebot_bringup minimal.lauch 2、操控 先给USB端口赋予权限:单次生效:sudo chmod 77...

weixin_39577852
2018/04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
4
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
7
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
10
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
14
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部