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

相关内容

热门资讯

安卓手机的rom系统,功能丰富... 你有没有发现,安卓手机的ROM系统就像是一层神秘的面纱,包裹着你的手机,让它焕发出不一样的光彩?今天...
宝马安卓系统音源切换,一触即达 你有没有发现,开宝马的时候,音乐播放的体验也是相当重要的呢?想象当你驾驶着宝马,窗外的风景如画,而车...
安卓怎样删除系统更新,轻松恢复... 手机系统更新了,是不是觉得新功能超酷,但有时候更新后的系统反而有点小闹心?别急,今天就来手把手教你如...
国内安卓系统知乎,知乎视角下的... 你知道吗?在我国,安卓系统可是占据了手机市场的大半壁江山。而关于这个话题,知乎上可是讨论得如火如荼。...
安卓登录linux系统下载,下... 你有没有想过,你的安卓手机竟然能登录Linux系统呢?没错,就是那个在服务器上大显神威的Linux!...
安卓系统怎么弹窗广告,Andr... 你有没有发现,手机上时不时就会跳出来一些广告,让人烦不胜烦?尤其是安卓系统的手机,弹窗广告更是让人头...
安卓系统能运行tomcat,基... 你有没有想过,安卓系统竟然能运行Tomcat?这可不是什么天方夜谭,而是实实在在的技术实现。想象你的...
小米减少安卓系统耗电,深度解析... 你知道吗?最近小米手机界可是掀起了一阵小风波呢!那就是——小米减少安卓系统耗电的大动作!是不是听起来...
原生系统的安卓电视,体验流畅智... 你有没有想过,家里的电视竟然也能像智能手机一样,玩转各种应用和游戏?没错,这就是原生系统的安卓电视的...
老版电脑装安卓系统,探索安卓系... 你有没有想过,那些曾经陪伴我们度过无数时光的老版电脑,现在竟然也能装上安卓系统呢?这可不是天方夜谭,...
安卓系统查看mac地址,安卓系... 你有没有想过,你的安卓手机里隐藏着一个小秘密——那就是它的MAC地址!这个看似普通的数字组合,其实能...
ios系统和安卓系统的比较,全... 你有没有想过,为什么你的手机里装的是苹果的iOS系统,而朋友的手机却是安卓的呢?这两种系统各有各的特...
不是基于安卓的系统,多元化移动... 你知道吗?在科技的世界里,有一种操作系统,它可不是什么安卓哦!今天,就让我带你一起探索这个神秘的世界...
苹果上安卓系统游戏,揭秘跨平台... 你有没有想过,那些在苹果手机上玩得如痴如醉的游戏,竟然也能在安卓系统上畅游?没错,就是那种一触即发、...
安卓鸿蒙苹果系统对比,三大操作... 你有没有发现,现在手机市场上的操作系统之争越来越激烈了?安卓、鸿蒙、苹果,这三个名字几乎成了智能手机...
安卓系统所有暗码大全,暗码大全... 你有没有遇到过那种手机解锁时突然冒出个暗码,让你一头雾水的情况?别急,今天就来给你揭秘安卓系统所有暗...
安卓p原生系统样子,安卓P原生... 你有没有注意到,你的安卓手机最近是不是变得不一样了?没错,就是那个安卓P原生系统,它悄悄地来了,带来...
如何把harmony系统改为安... 你是不是也对Harmony系统有点儿腻味了,想要换换口味,试试安卓系统的魅力呢?别急,今天就来手把手...
郑州安卓会议视频系统,高效便捷... 你有没有想过,在繁忙的会议中,如何让每个人都能清晰地看到演示内容呢?今天,就让我带你走进郑州安卓会议...
安卓平板怎么备份系统,全方位备... 你有没有想过,如果你的安卓平板突然“罢工”了,里面的资料怎么办?别急,今天就来教你怎么备份系统,让你...