首页 > 其他 > 详细

ROS 自定义消息类型方法

时间:2019-09-03 01:33:26      阅读:91      评论:0      收藏:0      [点我收藏+]

流程

1、在package中新建文件夹名为msg

2、在msg文件夹中创建消息(此处以my_msg.msg)为例,注意的是要以msg为后缀名

内容举例如下:

int32 data1
float64 date2

关于消息内容,需要注意的是如果类型错误,那么将不能生成头文件。例如float64写成了float,那么编译时将会出现错误:xxx.h: No such file or directory;而不会告诉你是哪里出错了,我曾经就遇到过这么坑的问题,所以这点需要注意。

3、修改CmakeList.txt 和package.xml

3.1、在package.xml中添加编译、运行依赖项

<build_depend>message_generation</build_depend>
<build_export_depend>message_generation</build_export_depend>
<exec_depend>message_runtime</exec_depend>

 

3.2、CmakeList.txt 

find_package()中添加message_generation

find_package(catkin REQUIRED COMPONENTS
  message_generation
  roscpp
  rospy
  std_msgs
)

add_message_files()中添加my_msg.msg

add_message_files(FILES
  my_msg.msg
)

generate_messages()添加std_msgs

generate_messages(DEPENDENCIES
  std_msgs
)

catkin_package()添加message_runtime

catkin_package(
  CATKIN_DEPENDS
  message_runtime)

最后在add_executable(xxx src/xxx.cpp)后面添加一行

add_dependencies(xxx ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

否则仍可能生成不了my_msg.h头文件

如何使用?

1、包含头文件

#include<package_name/my_msg.h>

2、定义变量

package_name::my_msg msg
 

ROS 自定义消息类型方法

原文:https://www.cnblogs.com/long5683/p/11450472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!