ROS实战篇(二)如何创建自定义的msg文件以及自己编写launch文件?

本文介绍了在ROS中如何创建自定义的消息(msg)文件和编写启动(launch)文件。首先,详细说明了msg文件的用途、数据类型及编写规则,并通过实操步骤演示了从创建msg文件到修改相关配置文件的过程。接着,讲解了launch文件的作用,以及如何编写和运行launch文件来启动多个节点。整个过程结合实例,帮助理解ROS中的消息通信与启动管理。
摘要由CSDN通过智能技术生成

一、如何创建自定义的msg文件?

msg文件介绍:

1、msg文件是用来描述ROS中自定义的消息类型的,可以被不同语言调用。

2、msg文件以 .msg 结尾,必须存放在软件包的msg文件夹下。

3、msg文件可以传递的数据类型很多:

int8 int16 int32 int64

float32 float64

string

time duration

其他msg文件

长度不固定数组array[] 和长度固定数组array[C]

4、编写规则:

每一行内容为: 标准数据类型 数据变量名称

实操步骤:

1、建立工作空间并进入src文件夹:

mkdir -p launch_ws/src
cd ~/launch_ws/src

2、创建package并进入

catkin_create_pkg launch_test_pkg std_msgs roscpp
cd launch_test_pkg/

3、创建msg文件夹并在其下创建 .msg 文件

mkdir msg
cd msg
vim myMsg.msg

文件中内容如下:

string name
int32 device_id
float32 percent
              

4、修改package(即launch_test_pkg)中的文件

修改package.xml:将下图红框中的两行取消注释

在这里插入图片描述
修改CMakeLists.txt文件:

添加红框中的字符串,以新增配置项:
在这里插入图片描述
取消如下框内的注释,箭头所指的地方是自定义msg文件的名称:

在这里插入图片描述

取消如下红框内的注释

在这里插入图片描述
5、编写cpp文件

这里仍然以博主的 ROS实战篇(一) 中的例子----节点间实现数据通信为例,分别编写 topic_publisher.cpp 和 topic_subscriber.cpp 两个文件:

topic_publisher.cpp 内容如下:

#include "ros/ros.h"
#
  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
创建一个ROSlaunch文件,你可以按照以下步骤进行操作: 1. 首先,在你的ROS工作空间中找到你想要创建launch文件功能包。可以使用命令`cd <workspace>/src/<package_name>`进入该功能包的目录。 2. 在功能包的目录创建一个名为`launch`的文件夹。你可以使用命令`mkdir launch`来创建。 3. 进入`launch`文件夹,使用文本编辑器创建一个新的launch文件。你可以使用命令`touch <launch_file_name>.launch`来创建一个空的launch文件。 4. 打开这个新创建launch文件,并按照你的需求编写launch文件的内容。你可以参考ROSlaunch文件语法和示例来编写你的launch文件。在launch文件中,你可以指定要启动的节点、节点的参数配置以及节点之间的关系等。 5. 保存并关闭launch文件。 6. 现在,你可以使用`ros2 launch`命令来启动你的launch文件。使用命令`ros2 launch <package_name> <launch_file_name>`,将会启动整个系统,包括所有在launch文件中指定的节点和它们的配置。 总结起来,要创建一个ROSlaunch文件,你需要在功能包中创建一个名为`launch`的文件夹,并在其中创建一个launch文件。然后,按照你的需求编写launch文件的内容,并使用`ros2 launch`命令来启动该launch文件。 #### 引用[.reference_title] - *1* *3* [ROS2入门教程—创建一个launch文件](https://blog.csdn.net/qq_29923461/article/details/120404577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ROS学习(4)——launch文件编写](https://blog.csdn.net/bulletstart/article/details/130794565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值