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

相关内容

热门资讯

oppo系统coloros对应... 你有没有发现,每次拿出OPPO手机,那流畅的操作体验简直就像是在玩儿魔法一样?你知道吗,这背后可是有...
安卓系统的设计原理,架构、原理... 亲爱的读者们,你是否曾好奇过,那些我们每天不离手的安卓手机,它们背后的操作系统——安卓系统,究竟是如...
安卓系统谁的系统更流畅,哪家厂... 你有没有发现,用手机的时候,有时候感觉就像是在玩一场速度与激情的游戏,快得让人心跳加速,有时候又慢得...
股票龙王安卓系统app,实时追... 亲爱的读者,你是否曾在手机上安装过那些让人眼前一亮的APP?今天,我要跟你聊聊一个在股市中独树一帜的...
安卓系统显示红色叹号,安卓系统... 亲爱的手机用户们,你们有没有遇到过这样的情况:你的安卓手机屏幕上突然出现了一个红色叹号,就像一个不速...
安卓系统游戏下载平台,热门平台... 探秘安卓系统游戏下载平台:你的游戏天堂大揭秘 开篇:手机游戏,你离不开的娱乐伙伴亲爱的游戏迷们,你...
安卓7.0系统功能点,全面解析... 哇塞,你有没有听说安卓7.0系统?这可是最近手机圈里的大热门呢!今天,我就要给你来个全方位的揭秘,让...
安卓系统与wp系统软件,软件生... 你有没有想过,你的手机里装的那个安卓系统,其实有个小兄弟叫WP系统呢?它们俩虽然长得不一样,但都是手...
遥控精灵安卓系统要求,安卓系统... 亲爱的手机控们,你们有没有想过,有一天,你的手机能变成一个无所不能的遥控器呢?没错,就是那种可以控制...
Mac安卓系统出不来,Mac平... 亲爱的果粉们,最近是不是在用Mac电脑的时候,突然发现安卓系统怎么也出不来啦?别急,让我带你一探究竟...
飞龙app安卓系统版本,“飞龙... 你有没有发现,最近手机上有个叫飞龙app的小家伙,特别火呢!它不仅功能强大,而且界面设计得也是相当美...
安卓平板升级系统密码,安卓平板... 亲爱的平板电脑用户们,你是否曾因为忘记安卓平板升级系统的密码而头疼不已?别担心,今天我要来给你支个招...
安卓系统的界面特点,创新与用户... 哇哦,你有没有发现,每次拿出手机,那熟悉的界面就像老朋友一样,亲切又熟悉?今天,就让我带你一起探索安...
安卓系统如何关闭闹钟,操作步骤... 早晨闹钟一响,是不是瞬间感觉世界都亮了?别急,别急,让我来告诉你,如何在安卓系统里轻松关闭这个“唤醒...
安卓系统手机拨号没了,安卓系统... 亲爱的手机控们,你们有没有遇到过这样的尴尬情况:手机升级后,原本熟悉的拨号键突然消失得无影无踪?别急...
linux系统跑安卓app,L... 亲爱的读者们,你是否曾想过,在Linux系统上也能畅玩安卓应用?没错,这个神奇的组合正在悄然兴起,让...
安卓系统怎么把qq,实际应用中... 亲爱的安卓用户们,是不是有时候想和你的iPhone好友来个QQ的“空中邂逅”?别急,今天就来手把手教...
安卓系统怎样打开txt,安卓系... 手机里突然收到了一个txt文件,是不是某个小伙伴想和你分享一本好书呢?别急,别急,让我来告诉你,在安...
鸿蒙系统怎么退到安卓系统界面,... 亲爱的手机控们,你是否在升级了华为的鸿蒙系统后,突然觉得安卓系统才是真爱呢?别急,今天就来手把手教你...
安卓系统wifidvr闪退,安... 亲爱的手机用户们,你们是不是也遇到过这种情况:手机里的WiFi DVR软件突然就闪退了,让你正在追的...