ROS机器人程序设计(原书第2版)2.4.7 如何使用服务

简介:

2.4.7 如何使用服务

服务是能够使节点之间相互通信的另一种方法。服务允许节点发送请求和接收响应。

可以使用rosservice工具与服务进行交互。此命令接受的参数如下所示:

rosservice args/service 输出服务参数。

rosservice call/service 根据命令行参数调用服务。

rosservice find msg-type 根据服务类型查询服务。

rosservice info /service 输出服务信息。

rosservice list 列出活动服务清单。

rosservice type/service 输出服务类型。

rosservice uri/service 输出ROSRPC URI服务。

我们要使用以下命令列出在turtlesim节点运行时系统提供的服务。如果你运行了这个命令,却没有任何反应,那么请记住要先运行roscore并启动turtlesim节点:

 

你会获得以下输出:

 

如果你想查看某个服务的类型,例如/clear服务,请使用:

 

你会获得类似下面的输出:

 

若要调用服务,你需要使用rosservice call [service] [args]命令。所以如果想要调用/clear服务,请使用:

 

在turtlesim的窗口中,你会看到由小海龟移动产生的线条消失了。

现在我们尝试其他的服务,例如/spawn服务。这项服务将以不同的方向在另一个位置创建另一只小海龟。开始之前,我们要去查看以下类型的消息:

 

我们会获得以下参数:

 

前面的命令和下面的命令是相同的。如果你想知道为什么这些命令相同,可以在搜索引擎里搜索piping Linux:

 

你会看到如下类似的结果:

 

输入下面命令:

 

你会看到如下类似的结果:

 

通过这些字段,可以知道如何调用服务。我们需要新海龟位置的x和y、方向(theta)和新海龟的名称:

 

我们会获得右侧的结果:

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
海尔、乐聚联手,发布国内首款家庭服务人形机器人
近日,乐聚机器人在全网了发布了一段人形机器人进入家庭干活的视频,视频中机器人进入家庭开始学习并执行洗衣、浇花、插花、晾衣服等任务。 据悉,这是海尔、乐聚机器人在面向家庭场景应用的首次探索,目前这款机器人也正在2024年中国家电及消费电子博览会(简称:AWE)上联合展出。
|
1月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
66 0
|
3月前
|
传感器 机器人 C++
ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目
ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目
186 0
|
5月前
|
传感器 机器人 C++
机器人操作系统ROS 编程开发--详细总结
最近工作涉及到自动驾驶的,需要学习ROS,学习中总结了一些知识点,分享给大家。 机器人操作系统ROS,是一种分布式处理框架(又名Nodes),ROS常用C++和python编程语言开发;(这里项目开发采用C++ 11版本)。ROS的点对点设计以及服务和节点管理器等机制,可以分散由计算机视觉和语音识别等功能带来的实时计算压力,能够适应多机器人遇到的挑战。ROS免费并且开源。
314 0
|
6月前
|
弹性计算 运维 持续交付
基于资源编排服务(ROS)实现存量资源的IaC化
如果您需要一种简单而有效的方法来管理大量云资源并实现自动化部署,推荐使用阿里云的资源编排服务ROS(Resource Orchestration Service)。ROS能够将存量资源转化为IaC(基础设施即代码),通过资源场景创建、模版生成和资源栈导入等功能,实现资源的统一管理和自动化部署。这不仅提高了资源管理的效率,还降低了成本。如果您想了解如何更轻松地管理云资源并加速部署流程,ROS是一个值得深入了解的工具。
79 1
|
8月前
|
传感器 Ubuntu 机器人
【5. ROS机器人的运动控制】
【5. ROS机器人的运动控制】
324 0
【5. ROS机器人的运动控制】
|
2月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
43 3
|
6月前
|
人工智能 自然语言处理 机器人
智能电话机器人核心技术:自然语言处理
什么是自然语言处理? 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.自然语言处理是一门融语言学、计算机科学、数学于一体的科学.因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别. 自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统.因而它是计算机科学的一部分. 自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域.
|
1月前
|
传感器 人工智能 自然语言处理
智能咖啡厅助手:人形机器人 +融合大模型,行为驱动的智能咖啡厅机器人
智能咖啡厅助手:人形机器人 +融合大模型,行为驱动的智能咖啡厅机器人
智能咖啡厅助手:人形机器人 +融合大模型,行为驱动的智能咖啡厅机器人
|
2月前
|
传感器 机器学习/深度学习 算法
植保机器人具备智能感知与决策能力
植保机器人具备智能感知与决策能力
19 2

热门文章

最新文章

推荐镜像

更多