(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

自定义消息

Description: 本教程将展示如何使用ROS Message Description Language来定义你自己的消息类型.

Tutorial Level: INTERMEDIATE

Next Tutorial: 在Pyhon中使用C++类

自定义消息

自定义一个消息类型很简单,只要将.msg文件放到一个package的msg文件夹下即可。请参考创建.msg 文件 (不要忘记选择相应的编译构建系统)。

引用和输出消息类型

消息类型都被归属到与package相对应的域名空间下,例如:

C++

   1 #include <std_msgs/String.h>
   2 
   3 std_msgs::String msg;

Python

   1 from std_msgs.msg import String
   2 
   3 msg = String()

依赖项

如果你要使用在其他package里定义的消息类型,不要忘记添加以下语句:

<depend package="name_of_package_containing_custom_msg"/>

manifest.xml

<build_depend>name_of_package_containing_custom_msg</build_depend>
<run_depend>name_of_package_containing_custom_msg</run_depend>

package.xml

教程ROSNodeTutorialPython展示了使用自定义消息类型来创建talker和listener的C++和Python实现。

Wiki: cn/ROS/Tutorials/DefiningCustomMessages (last edited 2015-05-09 14:40:28 by Frank)