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实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
传感器 机器人 开发者
ROS服务(Service)通信中的模型与实际应用: 初识Hello World并予以扩展
总而言之,ROS服务提供的是一种可靠而灵活的通信方式。每一次服务的请求和应答都会阻塞,直至应答完成。这意味着在调用服务之后,你可以确保你的请求被正确处理。这也是它在机器人系统中如此重要的原因,因为在许多情况下,我们需要获取实时、准确的结果,例如控制机器人执行精确的运动。
657 1
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
981 14
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
937 6
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
2005 1
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
1389 0
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
4035 0
|
Ubuntu 机器人 Linux
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
842 1
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
1369 2
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
863 1

热门文章

最新文章

推荐镜像

更多
  • ros