1.创建工作空间并初始化与生成srv文件

1.创建工作空间并初始化

mkdir -p demo02_ws/src
cd demo03_ws
catkin_make

2.进入 src 创建 ros 包并添加依赖

配置功能包 plumbing_server_client

导入依赖的包 roscpp rospy std_msg

3.定义srv文件

在src目录下的功能包文件夹中-新建文件夹srv-新建文件ADDints.srv(服务消息的载体)

4.编辑配置文件

package.xml中添加编译依赖与执行依赖(2处)

  1. <build_depend>message_generation</build_depend>

  2. <exec_depend>message_runtime</exec_depend>

CMakeLists.txt编辑 msg 相关配置 (4处)

1.加入 message_generation

find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgsmessage_generation
)
# 需要加入 message_generation,必须有 std_msgs

2.加入ADDints.srv文件

## 配置 msg 源文件
add_message_files(FILESADDints.srv
)

3.

# 生成消息时依赖于 std_msgs
generate_messages(DEPENDENCIESstd_msgs
)

4.

#执行时依赖
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES demo02_talker_listenerCATKIN_DEPENDS roscpp rospy std_msgs message_runtime
#  DEPENDS system_lib
)

5.编译

若无异常,生成中间文件。找到include的路径(不同版本路径不一样)

例:c++包含的头文件-Addints.h

二:服务端与客户端源码实现(c++)

1.vscode 配置

找到include的路径(不同版本路径不一样)

右键单击include 在集成终端中打开

输入 pwd 显示路径

/home/rosnotic/demo02_ws/devel_isolated/plumbing_server_client/include/plumbing_server_client

将路径/home/rosnotic/demo02_ws/devel_isolated/plumbing_server_client/include/**径配置进 c_cpp_properties.json

2.服务端源码编写

3.客户端源码编写

4.配置 CMakeLists.txt 

三:编译与执行(三个命令行窗口

第一个命令行:启动 roscore

第二个命令行:启动服务端节点

 cd demo02_ws
catkin_make

source ./devel/setup.bash

rosrun plumbing_server_client demo01_server

第三个命令行:启动订阅节点

source ./devel/setup.bash

rosservice call Addints(后面用tab补齐)

服务通信—自定义srv相关推荐

  1. 【服务通信自定义srv调用3----客户端的优化】

    客户端的优化 服务通信自定义srv调用,客户端随意提交两个数,完成数的相加.也就是实现参数的动态提交: 1.格式:rosrun xxxx xxxx 12 34 2.节点执行时候,需要获取命令中的参数, ...

  2. ROS通信机制(二) —— 服务(service)与srv文件

    文章目录 简述 特点 相关常用命令 通信模型 核心元素 通信过程 代码示例(服务端和客户端) 服务端(server.cpp) 客户端(client.cpp) 配置 CMakeLists.txt 编译和 ...

  3. ROS服务通信机制原理及示例代码

    ROS服务通信:节点间直接通信并获得应答.服务需要用户自己开发,可在功能包下创建srv文件夹并编写源代码,服务类型是功能包名称和.srv文件名称的组合,比如python中引入srv类型为,from g ...

  4. ROS笔记(8) 服务通信

    ROS笔记(8) 服务通信 1. 自定义服务请求与应答 2. 服务端 Service 3. 客户端 Client 4. 服务通信 1. 自定义服务请求与应答 在 hh_ros 功能包 srv 文件夹中 ...

  5. 美团大规模微服务通信框架及治理体系OCTO核心组件开源

    来源:美团技术团队 数据猿官网 | www.datayuan.cn 今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新浪看点丨百度百家丨博客中国丨趣头条丨腾讯云·云+社区 微服务通 ...

  6. 2.6 自定义srv python

    功能介绍 以自定义数据类型为基础,完成一个节点作为服务器,另一个节点接收传送两个数字到服务端,服务端计算后反馈到客户端进行打印输出 1.工作空间 1.1 创建工作空间lee_ws mkdir -p ~ ...

  7. 【Zuul2】zuul集成ribbon完成服务通信和负载均衡

    目录 Zuul2服务通信 超时相关 默认超时配置 自定义超时配置 负载均衡 Zuul2服务通信 描述:zuul2通过Ribbon完成客户端负载均衡以及与服务器群集进行通信. zuul2的通信是集成Ri ...

  8. #自定义srv消息:实现四则运算

    #自定义srv消息:实现四则运算 tips:养成良好习惯,新建工作包之前,先把工作空间编译一下,确保之前建好的工作包没有错误,再新建新的工作包,以免后续编译出现错误一直找不到原因. 1.在工作空间下创 ...

  9. 高性能服务通信框架Gaea的详细实现--server请求处理流程

    为什么80%的码农都做不了架构师?>>>    #<i class="icon-file">Gaea请求处理流程</i> Gaea支持tc ...

最新文章

  1. 了解HTML 元素分类
  2. WebSocket的C++服务器端实现
  3. 【转】更简单的非递归遍历二叉树的方法
  4. datepicker不能选择是为什么_腻子膏为什么与墙沾不上?我来教您几招
  5. EF性能优化-有人说EF性能低,我想说:EF确实不如ADO.NET
  6. 关于JavaWeb项目加密的实现 2021-04-24
  7. 快速掌握消息队列MQ最内核,图文并茂详解
  8. Python图像的基本操作
  9. OV7725学习(二)
  10. numpy 全部笔记的思维导图精简记忆版
  11. Win11系统的显卡驱动安装的详细方法步骤
  12. GoogleChrome最新的代理设置流程
  13. 小飞鱼APK签名工具
  14. PHP 生成PDF文件并向PDF添加图片
  15. 第4节:alphapose项目运行和参数
  16. 适者生存还是强者生存
  17. 搭建exchange邮件服务器一定要ad域么?_域渗透神器-AD Explorer使用指南
  18. 研发效能工程实践-代码评审
  19. 昨晚,奔奔第一次哭伤心了。。。
  20. 软件产品界面设计-培训PPT发布

热门文章

  1. 摩托罗拉等六厂商联手 开发通用Linux手机平台
  2. NO5的士高-(疯狂哨子) DJ极品哨子战歌舞曲 qq空间背景音乐
  3. 计算机 CPU 怎么选
  4. 【有限元分析】客车车身设计
  5. 用企业微信机器人搞事情
  6. [ACNOI2022]高中数列题
  7. 通达OA 同步中控考勤机 增强版
  8. 获取某年的第一天和最后一天
  9. 【Python 基础教程】Python语言的自我介绍
  10. Acer v5-573G笔记本拆键帽改dvorak教程