ROS机器人程序设计(原书第2版)3.3.1 检测节点、主题、服务和参数

简介:

3.3.1 检测节点、主题、服务和参数

坦白地讲,我们应该先回顾一下学习过的基本内容。如何获得正在运行的节点、主题、给定时间可用服务的清单,如下表所示。

获取所有列表    命令

运行的节点  rosnode list

所有节点运行的主题 rostopic list

所有节点运行的服务 rosservice list

服务器中的参数 rosparam list

 

我们建议你回顾第2章,熟悉如何使用这些命令,同时看一下如何使用rosmsg show获取特定主题和字段发出的消息类型。

所有这些命令可以结合bash命令,如grep,寻找所需的节点、主题、服务或参数。例如,启动目标主题可以使用以下命令:

 

bash命令grep在文件列表或标准输出中查找文本或模式,如本例所示。

此外,ROS提供几个GUI检测主题和服务。首先,在一个类似于进程表(ToP)窗口rqt_top中显示运行的节点,可以快速查看正在使用的所有节点和资源。以REEM导航栈运行仿真为例,如下图所示:

 

另一方面,rqt_topic显示主题调试信息,包括发布者、接收者、发布速率和发布的消息。可以查看消息字段的主题并选择你想要订阅的主题,分析带宽和速率(Hz)以及查看最新消息发布。注意锁定的主题通常不会持续发布,所以不会看到任何关于它们的信息。如下图

所示。

 

同样,rqt_publisher允许我们在一个接口管理rostopic pub命令的多个实例。它还支持Python发布消息和固定值的表达式。在下图中,我们看到发布了两个示例主题(我们将在两个不同的终端看到使用rostopic echo <topic>发布消息)。

 

另一种更灵活的GUI是rqt_ez_publisher。对ROS hydro而言,必须使用下面的代码从一个空的工作空间手动安装:

 

对ROS indigo而言,它将会作为一个Debian功能包,所以只需要运行下面命令:

 

然后,运行:

 

在example5节点运行时,你可以发布将被该节点读取的消息。在下图中,我们将选择accel和temp主题(删除accel/y和accel/z字段):

 

注意,当启用重复(repeat)后,消息会不断发布。否则,GUI只在你改变值时发布消息。

rqt_service_caller和rosservice call命令的多个实例一样。在下图中,我们将调用/move_base/NavfnROS/make_plan服务,我们必须为空服务设置请求。这对于来自/amcl节点的

/global_localization服务而言是不需要的。点击Call按钮之后,我们将获得响应消息。对于本例,我们运行导航栈的REEM仿真,如下图所示:

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
Ubuntu 机器人 Linux
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
705 14
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
740 6
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
1345 1
|
存储 机器人
ROS2教程 07 参数Param
本文是关于ROS2(机器人操作系统2)中参数(Parameter)机制的教程,介绍了ROS2中参数的使用和管理,包括列出、获取、设置、删除参数,以及如何通过命令行和launch文件在启动节点时配置参数,并通过示例代码展示了如何在ROS2节点中声明和使用参数。
1082 1
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
969 0
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
1147 0
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
1083 2
|
持续交付 数据安全/隐私保护
ROS伪参数教程:通过ALIYUN::ResourceGroupId配置栈内资源的资源组
阿里云资源编排服务(ROS)的新伪参数 ALIYUN::ResourceGroupId 提供了一种简化资源组管理的机制。此参数让用户在编写资源栈模板时能够直接指定资源应该属于的资源组,无需事先知晓资源组ID。这项功能简化了自动化部署过程中的管理流程,提高了部署的准确性,并增强了模板的可复用性。利用此伪参数,可以实现资源更精确的分区管理和访问控制,提升资源部署与整合的效率。
ROS伪参数教程:通过ALIYUN::ResourceGroupId配置栈内资源的资源组
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
725 1

热门文章

最新文章

推荐镜像

更多
  • ros