六、ROS2通信机制(服务)
admin
2024-02-24 23:18:38
0

一、服务介绍

客户端发送请求给服务端服务端可以根据客户端的请求做一些处理,然后返回结果给客户端
这里与话题的主要区别就是:话题是没有返回的,适用于单向或大量的数据传递。而服务是双向的,客户端发送请求,服务端响应请求。
注意事项:
1、同一个服务(名称相同)有且只有一个节点来提供
2、同一个服务可以被多个客户端调用source /opt/ros/galactic/setup.bash

二、体验服务

ROS2自带一些服务使用样例。
1、启动服务端:运行一个服务节点,这两个服务的功能是将两个数字相加,给定a,b两个数,返回sum

ros2 run examples_rclpy_minimal_service service

2、使用命令查看服务列表

ros2 service list

3、手动调用服务

ros2 service call /add_two_ints example_interfaces/srv/AddTwoInts "{a: 5,b: 10}"

三、ROS2服务常用命令

1、查看服务列表

ros2 service list

2、手动调用服务

ros2 service call /add_two_ints example_interfaces/srv/AddTwoInts

3、查看服务接口类型

ros2 service type /add_two_ints

4、查找使用某一接口的服务

ros2 service find example_interfaces/srv/AddTwoInts

四、自定义服务接口

1、服务接口介绍
服务接口与话题接口有什么不同?
话题是发布订阅模型。主要是单向传输数据,只能由发布者发布,接收者接收(同一话题,发布者接收者都可以有多个)
服务是客户端服务端(请求响应)模型。由客户端发送请求,服务端处理请求,然后返回处理结果(同一服务,客户端可以由多个,服务端只能有一个)
话题通信是单向的,自定义话题只需要定义一种数据类型就行,而服务是双向的,需要定义一去一回两种数据类型。

服务接口格式:xxx.srv

int64 a
int64 b
---
int64 sum

与话题不同,srv文件比msg文件中间多出三个—,这就是分界线,上方的是客户端发送请求的数据结构定义,下方的是服务端响应结果的数据结构定义。
如何创建自己的服务接口:参考如下步骤
1、新建srv文件夹,并在文件夹下新建xxx.srv
2、在xxx.srv下编写服务接口内容并保存
3、在CmakeLists.txt添加依赖和srv文件目录
4、在package.xml中添加xxx.srv所需的依赖
5、编译功能包即可生成python与C++头文件

相关内容

热门资讯

百丽网店策略论文shopex-... 百丽网店,作为一家知名的电商平台,其策略一直备受关注。从我个人的角度来看,百丽网店之所以能够在激烈的...
网络监控怎么布线-网络监控布线... 网络监控是现代社会中至关重要的一环,而网络监控的有效性很大程度上取决于其布线的质量和合理性。在这篇文...
surface pro3触屏失... 作为一名技术支持工程师,我每天都会面对各种各样的电脑问题。最近,我接到了一位用户的求助,她的Surf...
windows10正在下载更新... Windows10更新是系统保持安全和性能的关键。当系统提示正在下载更新时,很多用户可能会感到困惑或...
windows7截图软件-探索... 在数字时代的今天,Windows7作为一款广泛应用的操作系统,其截图功能一直备受用户关注。而随着科技...
lol新客户端能用tgp吗-L... 在当今电竞游戏行业中,英雄联盟(LeagueofLegends,简称LoL)作为一款备受瞩目的MOB...
richtextbox 滚动-... RichTextBox滚动,仿佛是一场寻找秘境的冒险,是程序世界中的一抹神秘色彩。作为一名热衷于探索...
怎样装电脑系统win7-如何轻... 电脑系统的安装对于许多人来说可能是一个看似高深莫测的任务,尤其是对于新手来说。然而,装载Window...
七喜安卓市场:丰富资源、个性化... 七喜安卓市场,作为一款备受瞩目的安卓应用市场,以其丰富的应用资源、良好的用户体验和独特的特色吸引着广...
win10安装xp双系统-如何... Win10安装XP双系统是一项需要谨慎操作的任务,既要保证系统兼容性和稳定性,又要避免数据丢失和系统...
如何使用电脑微信数据恢复软件轻... 微信,是我们日常生活中不可或缺的通讯工具,记录了我们与亲朋好友之间的点点滴滴。然而,当我们不慎删除了...
glu32.dll下载-如何安... 在计算机领域中,Glu32.dll作为动态链接库文件,扮演着重要的角色。对于许多用户而言,下载Glu...
skyzip手机可以用吗-揭秘... SkyZip手机,这个名字或许在你的耳边并不陌生。作为最新一代的通信设备,SkyZip手机的问世引发...
csgo地图中文名字-CSGO... 在《反恐精英:全球攻势》(CSGO)这款备受欢迎的射击游戏中,地图扮演着至关重要的角色,它们不仅是玩...
肛门闭锁大便失禁-解读肛门闭锁... 肛门闭锁与大便失禁是一种极具挑战性的医学情况,它们给患者的生活造成了巨大困扰,同时也对医疗团队提出了...
windows8中文版-Win... Windows8中文版是一款备受关注的操作系统,它的推出引发了广泛的讨论和热议。作为一名科技爱好者和...
gb t5023 2024-深... 作为一个电工工程师,我对《GB/T5023-2024》标准有着深刻的认识和理解。这一标准是中国电线电...
下好的系统怎么用u盘安装-如何... 想要在电脑上安装操作系统,U盘安装是一种方便快捷的方法。今天我来为大家分享一下如何使用U盘来安装操作...
地形图的比例尺精度-地形图比例... 地形图比例尺的精度问题一直备受关注。地形图是地理信息系统中的重要组成部分,它以图形的方式展示地表地形...
深入探讨克罗恩病的鉴别诊断及实... 克罗恩病,一种慢性肠道疾病,常常与其他消化系统疾病相混淆。在临床实践中,正确诊断克罗恩病至关重要,而...