美文网首页ROS
ROS进阶学习(五) - 定义自定义message

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

作者: Savior2016 | 来源:发表于2017-03-15 20:46 被阅读711次

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自定义的教程,或者这个敷衍的教程传送门

相关文章

网友评论

    本文标题:ROS进阶学习(五) - 定义自定义message

    本文链接:https://www.haomeiwen.com/subject/bjjrnttx.html