一、如何创建自定义的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"
#