一种ROS自定义消息类型msg的方法

废话不多说直接上步骤——

1.msg文件夹需要建在功能包下,随便哪个功能包都可以,单独新建一个专门用来存放的也行

2.msg文件夹里面新建一个xxx.msg的文本文件

3.打开该功能包的package.xml文件

加入:

<builf_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>>

4.除此以外,根据咱xxx.msg文件里的内容,还需加入对应数据类型的依赖

例:

# xxx.msg文件内容如下
String name
Int16 length

那么还需要在package.xml文件下添加

<!-- 因为String和Int16都是std_msgs包里的,所以要添加std_msgs包 -->
<build_depend>std_msgs</build_depend>
<build_export_depend>std_msgs</build_export_depend>

还没完噢~~~

5.来到该功能包的CMakeLists.txt文件下——

在find_package(...)里面添加

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs   # <-- 理由同上
  message_generation  # <-- 还有这个
)

add_message_files(
  FILES
  xxx.msg
  # xxx2.msg(如果有更多的的话)
)

generate_messages(
  DEPENDENCIES
  std_msgs  # <-- 理由同上 Or other packages containing msgs
)

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES cmd_pkg
#  CATKIN_DEPENDS roscpp rospy
#  DEPENDS system_lib
  CATKIN_DEPENDS roscpp rospy std_msgs message_runtime  # <-- 还有这些
)

6.然后节点文件导入就像这样:

import rospy
from xxx_pkg.msg import xxx

emmm....

基本就这些,有说法的哥们们评论区补充~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值