【ROS】ros服务通信自定义srv实现1.1

服务通信也是ROS中的一种常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。即:一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A。

服务通信更适用于对时时性有要求,具有一定逻辑处理的应用场景。

概念:

master--->管理者(管理平台)        server--->服务端(服务公司)        client--->客户端(我)

以请求响应的方式实现不同节点之间数据交互的通信模式。

注意:

        保证顺序,客户端发起请求时,服务端需要已经启动

        客户端和服务端可以存在多个

服务通信应用时的关注点:大部分实现已经被封装了,需要关注话题、服务端、客户端、数据载体。

流程:

srv文件内的可用数据类型与nsg文件一致,且定义srv实现流程与自定义msg实现流程类似

        按照固定格式创建srv文件

        编辑配置文件

        编译生成中间文件

1.定义srv文件

功能包下新建srv目录,添加xxx.srv文件,内容:

2.编辑配置文件

package.xml中添加编译依赖与执行依赖

CMakeLists.txt编辑srv相关配置

#需要加入message_generation,必须有std_msgs

#配置srv文件

#int32需要依赖于std_msgs

#执行时依赖

注意:官网没有在catkin_make中配置message_runtime,经测试配置也是可以的。

3.编译

编译后的中间文件查看:

C++需要调用的中间文件(.../工作空间/devel/include/包名/xxx.h)

 

Python需要调用的中间文件(.../工作空间/devel/lib/python*/dist-packages/包名/srv)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值