| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 创建ROS消息(msg)和服务(srv) -> 正文阅读 |
|
[人工智能]创建ROS消息(msg)和服务(srv) |
一、msg和srv介绍
msg文件存放在软件包的msg目录下,srv文件则存放在srv目录下。 msg文件就是简单的文本文件,每行都有一个字段类型和字段名称。
???????ROS中还有一个特殊的数据类型:Header,它含有时间戳和ROS中广泛使用的坐标帧信息。在msg文件的第一行经常可以看到Header header。
srv文件和msg文件一样,只是它们包含两个部分:请求和响应。这两部分用一条- - -线隔开。下面是一个srv文件的示例:
在上面的例子中,A和B是请求, Sum是响应。 二、创建功能包
我们看一下所有的文件: 这样我们就创建了一个叫做msg_srv的功能包,以及我们在其子目录下创建了msg、srv两个文件夹用来存放需要的文件。 三、使用msg1.创建.msg文件在msg文件夹下创建Person.msg,内容如下:
2.在package.xml中添加功能包依赖
我们要确保msg文件能被转换为C++、Python和其他语言的源代码。 3.在CMakeLists.txt添加编译选项???????在CMakeLists.txt文件中,为已经存在里面的find_package调用添加message_generation依赖项,这样就能生成消息了。直接将message_generation添加到COMPONENTS列表中即可,如下所示: 还要确保导出消息的运行时依赖关系: 3.编译以及source环境4.测试四、使用srv???????在srv文件夹下创建Personn.srv(注意不能用和上面一样的Person.srv,因为编译之后它们在同一个文件夹生成的源文件一样)
CMakeLists.txt文件修改: ???????类似地,srv目录中的任何.srv文件都将生成支持语言的代码。对于C++,头文件将生成在消息的头文件的同一目录中(这就是你不能在同一功能包下定义Person.msg和Person.srv的原因)。对于Python和Lisp,会在msg目录旁边的srv目录中。 本文内容参考: 如有错误或者不足之处,欢迎大家留言指正! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:52:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |