1、msg简介
msg文件就是ROS中定义消息类型的文件,一般放置在功能包目录下的msg文件夹中。
在ROS的元功能包common_msgs中提供了许多不同消息类型的功能包。例如:
std_msgs : 标准数据类型
geometry_msgs: 几何数据类型
senser_msgs: 传感器数据类型
2、建立msg文件
打开RoboWare软件,选中前面建立的功能包 “learning” ,右击选择 “新建Msg文件夹” ,然后选中文件夹 msg ,右击选择 “新建MSG文件” ,文件名为 “Person.msg" 。如下图所示:
在msg文件中可以自由定义消息,例如一个人的姓名、性别、年龄:
在定义完msg中的消息后就需要添加功能包依赖和编译选项,使用RoboWare的好处就在这里,它会帮我们自动添加所需要的功能包依赖和编译选项。
例如在 package.xml 中添加功能包依赖:
还有在 CMakeList.txt 中添加编译选项:
如果没有RoboWare,这些都需要我们手动添加进相应的文件中。
3、编译msg文件
打开终端,使用 catkin_make 编译工作空间。编译完成后使用如下命令查看自定义的Person消息类型。
$ rosmsg show Person
结果如下: