ROS机器人程序设计(原书第2版)3.3.2 使用rqt_graph在线检测节点状态图

3.3.2 使用rqt_graph在线检测节点状态图

可以用有向图来显示ROS会话的当前状态,其中运行的节点是图中的节点,边为发布者-订阅者在这些节点与主题间的连接。此图形由rqt_graph动态绘制。

 

为了说明如何使用rqt_graph检测节点、主题和服务,使用以下launch文件同时运行example4和example5节点:

 

example4节点在两个不同的主题中发布并调用了一个服务。同时,example5节点订阅了这些主题,并提供了一个服务器来响应查询请求并提供反馈数据。一旦这些节点开始运行,我们就能够查询到如下图所示的节点拓扑图:

 

在上图中,我们看到节点通过主题相连。由于选择Hide Debug,我们不会看到ROS服务器节点rosout以及rosout主题发布到诊断聚合器(diagnostic aggregator)上的日志信息,如我们之前做的那样。取消这个选项就可以显示该节点和主题的调试信息,以便显示ROS服务器和rqt_graph节点本身(如下图所示)。这对于调试大型系统非常有用,因为图可以使其简化。同时,ROS
hydro中相同命名空间的节点被分组,例如图像管道的节点:

 

当系统出现问题时,会一直(而不只是当我们移动鼠标掠过它们时)以红色显示。在这种情况下,选择all topics查看没有连接的主题非常有用,这通常显示由于主题名称拼写错误导致节点之间连接的中断。

当节点在不同的机器上运行时,rqt_graph会显示其强大的高级调试功能,包括节点能否从各自的机器看到对方、列举连接等。

最后,我们可以启用统计查看在主题边上显示的信息速率、带宽,以及写入速率和行速率,如下一个图所示。我们必须在运行rqt_graph之前设置参数来使信息有效:

 

不幸的是,这些参数ROS hydro目前不可用。它会在ROS indigo中(下一个发行版)出现,也有可能移植回hydro中。

时间: 2024-11-23 13:31:11

ROS机器人程序设计(原书第2版)3.3.2 使用rqt_graph在线检测节点状态图的相关文章

《深入理解Elasticsearch(原书第2版)》——1.3 在线书店示例

1.3 在线书店示例 本书可作为<Elasticsearch server, Second Edition>一书的延续.因此,我们在这里也沿用在那本书中的案例.总的来说,假设自己正在实现和运作一个在线书店. 首先需要一个library索引,它的映射定义如下: 这段映射代码位于随书提供的library.json文件. 我们将要使用的数据也可以在随书提供的books.json文件中找到.这个文件中的文档示例如下: 读者可以从自己在http://www.packtpub.com 的个人账户中下载所有

ROS机器人程序设计(原书第2版).

机器人设计与制作系列 ROS机器人程序设计 (原书第2版) Learning ROS for Robotics Programming,Second Edition 恩里克·费尔南德斯(Enrique Fernández) 路易斯·桑切斯·克雷斯波(Luis Sánchez Crespo) 阿尼尔·马哈塔尼(Anil Mahtani) 亚伦·马丁内斯(Aaron Martinez) 著 刘锦涛 张瑞雷 等译 图书在版编目(CIP)数据 ROS机器人程序设计(原书第2版) / (西)恩里克·费尔南

ROS机器人程序设计(原书第2版)第1章 ROS Hydro系统入门

第1章 ROS Hydro系统入门 欢迎开始阅读本书第1章.本章将介绍如何安装ROS系统,它是一种新的标准化机器人系统软件框架.本书是基于ROS Fuerte的<ROS机器人程序设计>一书的升级版.通过ROS,你可以使用大量的示例代码和开源程序轻松地完成机器人编程和控制.同时,你还能够理解如何使用各种传感器与执行器,并为你的机器人增加新的功能,如自动导航和视觉感知等.得益于开源理念,以及持续开发最先进算法并不断提供新功能的开源社区,ROS不断进步完善. 通过本书,你将学习到如下内容: 在特定版

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

《机器学习与R语言(原书第2版)》一1.2 机器学习的使用与滥用

本节书摘来自华章出版社<机器学习与R语言(原书第2版)>一书中的第1章,第1.2节,美] 布雷特·兰茨(Brett Lantz) 著,李洪成 许金炜 李舰 译更多章节内容可以访问"华章计算机"公众号查看. 1.2 机器学习的使用与滥用 大多数人听说过下国际象棋的计算机深蓝(Deep Blue)-第一台和一位世界冠军对弈并获胜的计算机,或者在电视问答游戏节目Jeopardy中击败两个人类对手的计算机Watson.基于这些令人震惊的成绩,有人预测计算机智能将在许多信息科学领域取

《面向对象的思考过程(原书第4版)》一1.9 继承

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.9节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 1.9 继承 面向对象程序设计的最强大的功能之一就是代码重用.结构化设计提供的代码重用非常受限.你可以编写一个功能块,然后多次重用它.但是面向对象的设计更进一步,允许你定义类之间的关系,通过组织和识别不同类之间的共性,不仅可以实现代码重用,也可以指导设计.继承是实现该功能的主

《面向对象的思考过程(原书第4版)》一1.5 究竟什么是对象

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第1章,第1.5节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 1.5 究竟什么是对象 对象是面向对象程序中的基础材料.使用面向对象技术的程序本质上是对象的集合.举例来说,一个公司系统包含了代表公司雇员的对象.接下来的小节描述了这些对象的数据和行为. 1.5.1 对象数据 存放在对象中的数据代表了该对象的状态.在面向对象术语中,数据被称为

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读

前 言 致读者 本书是按照Java SE 8完全更新后的<Java核心技术 卷Ⅱ 高级特性(原书第10版)>.卷Ⅰ主要介绍了Java语言的一些关键特性:而本卷主要介绍编程人员进行专业软件开发时需要了解的高级主题.因此,与本书卷Ⅰ和之前的版本一样,我们仍将本书定位于用Java技术进行实际项目开发的编程人员. 编写任何一本书籍都难免会有一些错误或不准确的地方.我们非常乐意听到读者的意见.当然,我们更希望对本书问题的报告只听到一次.为此,我们创建了一个FAQ.bug修正以及应急方案的网站http:/

《JavaScript和jQuery实战手册(原书第3版)》---第1章 编写第一个JavaScript程序 1.1 编程简介

本节书摘来自华章出版社<JavaScript和jQuery实战手册(原书第3版)>一书中的第1章,第1.1节,作者David Sawyer McFarland,姚待艳 李占宣 译,更多章节内容可以访问"华章计算机"公众号查看. 第1章 编写第一个JavaScript程序 HTML自身并没有太多智能:它不能做数学运算,不能判断某人是否正确填写了一个表单,而且不能根据Web访问者的交互来做出判断.基本上,HTML让人们阅读文本.观看图片或视频,并且单击链接转向拥有更多文本.图片