1.msg文件创建

#创建msg文件夹roscd ros_pkgmkdir msgcd msg#创建msg文件touch a_msg.msggedit a_msg.msg

在a_msg.msg文件中写入msg内容,举个栗子

#数据类型 数据名称
int8 A
int8 B

修改package.xml,添加如下内容

<build_depend>message_generation</build_depend><run_depend>message_runtime</run_depend>

修改CMakeList.txt,添加如下内容

find_package(catkin REQUIRED COMPONENTS......std_msgsmessage_generation...
)
catkin_package(...CATKIN_DEPENDS message_runtime ......)
add_message_files(FILESa_msg.msg
)
generate_messages(DEPENDENCIESstd_msgs
)

2.srv文件创建

#创建srv文件夹cd ros_pkgmkdir srvcd srv#创建srv文件touch b_srv.srvgedit b_srv.srv

在b_srv.srv文件中写入srv内容,举个栗子,注意三个减号(---)

int64 A    #Request
int64 B
---
int64 sum  #Response

同上,修改package.xml和CMakeList.txt文件,注意Files文件添加行改为如下内容

add_service_files(FILESb_srv.srv
)

3.验证是否成功

cd workspacecatkin_makesource devel/setup.bashrosmsg show ros_pkg/a_msgrossrv show ros_pkg/b_srv

如果show得到的内容跟a.msg和b.srv中写的内容一致,则编译正确!

4.msg和srv文件的使用,在cpp文件中添加如下头文件

//使用msg文件
#include "ros_pkg/a_msg.h"ros_pkg::a_msg msg;
msg.A = 1;
msg.B = 2;//使用srv文件
#include "ros_pkg/b_srv.h"int add(ros_pkg::b_srv::Request &req, ros_pkg::b_srv::Response &res){res.sum = req.A + req.B;return res.sum;
}

ROS节点中创建msg和srv文件(kinetic/melodic)相关推荐

  1. 11_创建ROS msg和srv文件

    本教程介绍了如何创建msg和srv文件,以及rosmsg,rossrv,roscp等命令行工具.至于为什么选择deepin而不是ROS通用的ubuntu,也仅仅是为了支持国产系统.鉴于本人水平有限,如 ...

  2. ROS 创建msg和srv 编写发布者和订阅者节点 编写服务端和客户端节点(python版本)

    ROS 创建msg和srv 编写发布者和订阅者节点 编写服务端和客户端节点-python版本 rosed msg和srv 创建msg 使用rosmsg 创建srv 使用rossrv 重新make一下软 ...

  3. ROS系统中编写多个C++文件时,主文件调用其它文件函数或类时出现:对“xxxxxx“未定义的引用问题记录

    问题描述 主文件对其它文件内容调用时,明明已经正确引用相关头文件,并确保类和函数已被定义,仍然出现下面问题. CMakeFiles/robot_pose_ukf_node.dir/src/main.c ...

  4. linux中编辑pdf文件,如何在Ubuntu中创建和编辑PDF文件

    在打印,共享和通过电子邮件发送文档(尤其是大型文档)时,PDF或可移植文档格式通常是我们的首选.对于Windows和MacOS,您可能非常熟悉,也依赖于广泛使用的Acrobat产品来进行pdf创建,查 ...

  5. Java实现pdf转tex_使用Free Spire.PDF在Java程序中创建和转换PDF文件

    在这篇文章中,我将举例说明如何创建一个包含标题,段落,图像,编号列表和表格的简单的PDF文件,以及如何使用Free Spire.PDF将PDF转换为其他文件格式. 概述 Free Spire.PDF ...

  6. 在Java程序中创建和转换PDF文件

    点击上方关注 "终端研发部" 设为"星标",和你一起掌握更多数据库知识 作者: Codingqi123 来源: jianshu.com/p/db15232987 ...

  7. matlab中创建一个工程,从文件夹创建新工程

    从文件夹创建新工程 如果您有许多文件并希望将它们整理为一个工程(无论是否进行源代码管理),请按照以下步骤创建一个新工程. 使用 Simulink® Start Page 中的 Folder to Pr ...

  8. 在SharePoint中创建可自定义属性的文件夹

    概况 阅读时间:约5分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户.管理员.开发人员 难度指数:★★★☆☆ SharePoint中的文件夹分为2种,一种是文档库 ...

  9. cmd中创建一定大小的文件

    虽然很简单,但写这篇博客只是为了个人的笔记而已. 当前遇到需要创建指定大小的文件已用于充满硬盘,所以找到的命令,记性不是很好,希望写下来.下次备用. fsutil file createnew D:\ ...

最新文章

  1. 图像轮廓提取关键函数
  2. 区块链BaaS云服务(38)点存DCpool分布式存储
  3. 从一点儿不会开始——Unity3D游戏开发学习(一)
  4. boost::fusion::transform用法的测试程序
  5. java正则表达式爬虫_Java简单爬虫系列(3)---正则表达式和Java正则API的使用
  6. ADOMD.net概述
  7. codeforces:65
  8. Mybatis框架(待完善)
  9. Mac使用sdkmanager从官网下载新版android SDK
  10. 外媒:苹果首款AR/VR设备需与iPhone绑定使用,最早明年发布
  11. UVA12290 Counting Game【数学模拟】
  12. numpy中多维数组的轴(axis)
  13. 基于Arduino的循迹小车
  14. unity人物刚体移动_Unity3D 角色(物体) 移动方法 合集
  15. 铁威马NAS搭建邮件服务器教程
  16. 叮咚:分享一款超棒的模组:IDO-SOM6Y08
  17. 用java怎么开发图片标注工具,图片标注工具选型
  18. 2022.3.19-2022.3.27每周刷题
  19. ARM linux解析之压缩内核zImage的启动过程
  20. H3CR4900G3服务器的创建Raid

热门文章

  1. 代码实现地图截图功能
  2. 如何定义ATE测试的最低电压
  3. python 语音转文字_《奇巧淫技》系列-Python实现 语音转文字??非也!!是文字转语音,DIY你想要的萝莉音!!!-Go语言中文社区...
  4. 工信部意见:国产“太空级”操作系统投放民用市场
  5. 前端行为层,表示层,结构层的分离
  6. CSS3 属性选择器 伪类选择器 盒模型 圆角 阴影 CSS定位和浮动
  7. 高端人脉圈子里的10项法则和10大相处秘诀
  8. 支付宝运行报错页面找不到resolved to pages/login/login not found
  9. Springboot 为了偷懒,我封装了一个自适配的数据单位转换工具类
  10. 抖音seo源码,抖音seo系统无限授权,抖音seo系统无限OEM