六、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++头文件

相关内容

热门资讯

安卓高系统怎么用美化,打造专属... 亲爱的安卓用户们,你是不是也和我一样,对手机系统美化情有独钟呢?想要让你的安卓手机焕然一新,变得个性...
安卓系统怎么开夜间模式,安卓系... 亲爱的手机控们,你是不是在夜晚使用安卓手机时,眼睛感到有些不适?别担心,今天我要给你揭秘一个超级实用...
王者安卓系统用苹果人脸,一场视... 你知道吗?最近在手机圈里可是掀起了一股不小的波澜呢!那就是王者安卓系统竟然用上了苹果人脸识别技术!是...
安卓444怎么升级系统,轻松迈... 你那安卓444的小家伙是不是已经有点儿落伍了?别急,今天就来给你详细说说怎么给它来个系统升级,让它焕...
安卓系统raw修图软件,探索安... 你有没有发现,手机拍照越来越方便了,但有时候拍出来的照片还是不够完美呢?别急,今天就来给你安利几款安...
安卓系统的王者切换苹果,从安卓... 你知道吗?最近身边的朋友圈里掀起了一股热潮,那就是安卓系统的王者们纷纷切换到苹果阵营。这可真是让人大...
安卓用按钮退出系统,Andro... 你有没有发现,现在用安卓手机的时候,退出系统的方式好像有点变化呢?是不是有时候按了按钮,系统还是纹丝...
安卓系统怎么删除相机,安卓系统... 手机里的照片越来越多,是不是感觉相机里都快装不下你的美好回忆了?别急,今天就来教你怎么轻松地在安卓系...
安卓双系统点歌机系统包,打造智... 你有没有想过,在安卓双系统点歌机里,那些美妙的音乐是如何被唤醒的呢?今天,就让我带你一探究竟,揭开安...
安卓不卡顿的系统,安卓系统不卡... 你有没有想过,为什么有些安卓手机用起来就是那么流畅,而有些却总是卡卡卡个不停?今天,就让我带你一探究...
鸿蒙系统切换安卓死机,系统兼容... 最近手机界可是热闹非凡呢!听说华为的新操作系统鸿蒙系统上线了,不少小伙伴都跃跃欲试,想要体验一下这个...
系统能被卸载吗安卓,卸载与优化... 你有没有想过,你的安卓手机里的系统,是不是也能像卸载一个APP那样简单呢?今天,就让我带你一探究竟,...
安卓永远超不过苹果系统,谁将永... 你有没有想过,为什么安卓手机再怎么努力,好像永远都追不上苹果系统的光芒呢?这背后,可是有着不少门道呢...
安卓系统手机位置共享,探索安卓... 你有没有想过,当你的朋友突然告诉你:“我快到你了,你定位一下我哦!”这时,你的安卓手机位置共享功能就...
安卓系统怎么添加表情包,表情包... 你是不是也和我一样,手机里收藏了超多搞笑的表情包,想要在聊天的时候分享给朋友,但又不知道怎么在安卓系...
安卓变黑鲨系统下载,深度解析系... 你有没有发现,你的安卓手机最近有点儿不一样了?是不是觉得屏幕上的图标变得酷炫了,操作起来也更加流畅了...
windows平板如何装安卓系... 亲爱的电脑迷们,你是否曾梦想过在你的Windows平板上体验安卓系统的流畅与丰富应用?别再羡慕那些安...
鸿蒙系统如何恢复到安卓系统中,... 你是不是也和我一样,对鸿蒙系统到安卓系统的转换感到好奇呢?听说最近很多人都在尝试将手机从鸿蒙系统切换...
苹果手机升级安卓系统,探索安卓... 你有没有想过,如果有一天苹果手机突然宣布要升级成安卓系统,那会是怎样的景象呢?想象那些习惯了iOS操...
iphone能不能安卓系统,探... 最近手机圈可是热闹非凡呢!不少朋友都在问我:“iPhone能不能用安卓系统?”这个问题,真是让人头都...