ROS服务通信自定义srv

流程:

srv 文件内的可用数据类型与 msg 文件一致,且定义 srv 实现流程与自定义 msg 实现流程类似,需查阅msg文件的可以浏览ROS话题通信流程自定义数据msg格式

  • 1.创建一个ROS功能包

  • 2.按照固定格式创建srv文件

  • 3.编辑配置文件

  • 4.编译生成中间文件

创建ROS功能包

  • 选定 src 右击 —> create catkin package
    在这里插入图片描述
  • 创建一个 pluming_server_client 功能包
    在这里插入图片描述
  • 使用 roscpp rospy std_msgs 作为依赖库
    在这里插入图片描述
  • pluming_server_client 功能包下的结构如图所示,功能包创建成功
    在这里插入图片描述

按照固定格式创建srv文件

  • 在功能包下创建一个 srv 文件夹
    在这里插入图片描述

  • srv文件夹下新建一个 AddInts.srv文件
    在这里插入图片描述

  • 编辑 srv 文件
    在这里插入图片描述

服务通信中,数据分成两部分,请求与响应,在 srv 文件中请求和响应使用---分割,具体实现如上所示

编译配置文件

  • package.xml中添加编译依赖与执行依赖
    plumbing_server_client 功能包下的 package.xml 文件添加如图所示的编译依赖和执行依赖

    在这里插入图片描述

  • CMakeLists.txt 编辑 srv 相关配置

    • 加入 message_generation
      CMakeLists.txt 中找到 find_package 添加 message_generation 编译依赖,如图所示:

      在这里插入图片描述

    • 配置 srv 源文件
      CMakeLists.txt 中找到 add_service_files 配置 srv 文件,如图所示:

      在这里插入图片描述

    • 添加生成消息时依赖std_msgs
      CMakeLists.txt 中找到 generate_messages 添加生成依赖,如图所示:

      在这里插入图片描述

    • 添加执行时依赖
      CMakeLists.txt 中找到 catkin_package 添加执行依赖,如图所示:

      在这里插入图片描述

编译生成中间文件

  • 编译
    按快捷键 ctrl + shift + B 编译

    在这里插入图片描述

  • 生成的中间文件
    编译完成后就生成了 C++Python 调用时所需的中间文件

    • C++ 的中间文件
      生成的 C++ 中间文件在工作空间的 devel/include/pluming_server_client 文件下,有一个请求文件和一个响应文件,请求文件就是需要请求的数据,响应文件就是响应请求数据后的返回数据
      在这里插入图片描述

    • Python的中间文件
      生成的Python中间文件在工作空间的 devel/lib/python2.7/dist-packages/plumbing_server_client/srv 文件下

      在这里插入图片描述

相关推荐

  1. ROS2】实现定义服务接口

    2024-07-10 22:04:04       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 22:04:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 22:04:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 22:04:04       45 阅读
  4. Python语言-面向对象

    2024-07-10 22:04:04       55 阅读

热门阅读

  1. stm32实现IIC读写

    2024-07-10 22:04:04       22 阅读
  2. 中小企业和数智化的距离,只差一块华为IdeaHub

    2024-07-10 22:04:04       23 阅读
  3. C# —— Directory类

    2024-07-10 22:04:04       16 阅读
  4. 在Ubuntu 22.04上安装Docker最新版本

    2024-07-10 22:04:04       18 阅读