ROS进阶学习(五) - 定义自定义message

1 生成消息

生成一个消息是很简单的。只要将一个.msg文件放入到package的msg目录下就可以了。首先按照前面的教程传送门设计一个消息,记得把顶部的选项改成rosbuild这点跟之前不太一样。

2 包含或者导入消息

2.1 C++

message被放入一个与包名匹配的命名空间里:

#include <std_msgs/String.h>

std_msgs::String msg;

2.2 Python

from std_msgs.msg import String

msg = String()

3 依赖

如果你要在另一个包里使用自定义消息,记得要做如下事情:
在package.xml里面添加:

<build_depend>name_of_package_containing_custom_msg</build_depend>
<run_depend>name_of_package_containing_custom_msg</run_depend>
<build_depend>message_generation</build_depend>
<run_depend>message_runtime</run_depend>

在 CMakeList.txt里面添加:

findPackage(message_generation)
catkin_package(CATKIN_DEPENDS message_runtime)
add_message_files(FILES your_msg_file.msg)

如果你要编译一个使用了自定义消息的C++代码,你还需要声明一些你的node和message的依赖,可以看之前的message自定义的教程,或者这个敷衍的教程传送门

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容